2

我正在尝试命名我的 iTerm 选项卡并找到此链接。这是该人帖子的相关部分:

我编写了一个简单的脚本,我称之为“nametab”,它允许您从命令行命名您所在的选项卡。您只需键入以下内容:

$ nametab New tab name

如果您想自己使用它,这里是代码:

#!/bin/bash

# A simple script which will name a tab in iTerm
# usage:
# $ nametab New tab name

echo -ne "\033]0;"$@"\007"

我创建了一个目录$HOME/dev/bash_scripts并在该目录中放置了一个名为nametab.sh. 然后我切换到该目录并运行命令

chmod u+x nametab.sh

但是,当我尝试通过键入来命名 iTerm 中的当前选项卡时nametab.sh New tab hellooooo,什么也没有发生。我也试过了nametab.sh hellooooo,没有任何反应。

你能帮我理解我不明白的地方吗?


更新:

echo TERM=$TERM

返回

TERM=xterm-256color

echo $PATH

返回

.:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:~/dev/bash_scripts

cat ~/dev/bash_scripts/nametab.sh

返回

#!/bin/bash

# A simple script which will name a tab in iTerm
# usage:
# $ nametab NewTabName

echo "trying to rename the current tab to $@"
echo -ne "\033]0;"$@"\007"
echo "finished"

nametab.sh hellooooo

返回

trying to rename the current tab to helloooo
finished

但标签名称始终保持不变。

顺便说一句,选项卡名称读取

MindRoot (bash)

我正在运行 iTerm2。我尝试在/etc/bashrc. 这样,无论我登录哪个用户帐户,我都会获得相同的 bash 终端行为。的内容/etc/bashrc

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

#PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize

# ALL OF THE BELOW ADDED BY DEONOMO ON 2011-04-25

# custom prompt
PROMPT_HOSTNAME='MindRoot' 
PROMPT_COLOR='0;35m'

# If I am root, set the prompt to bright red
if [ ${UID} -eq 0 ]; then
PROMPT_COLOR='1;31m'
fi

PS1='\[\e]1;${PROMPT_HOSTNAME}\a\e]2;${PROMPT_HOSTNAME}:${PWD}\a\
\e[${PROMPT_COLOR}\]\
[\u@${PROMPT_HOSTNAME} \w]\n \#\$ \
\[\e[m\]'

#PS1="\e[0;45m\w:$ "

# added by Deonomo on 2011/09/12 in order to have textmate work as default editor
export EDITOR='mate -w'

# added by Deonomo on 2012-01-11 in order to start a dev/bash_scripts directory
export PATH="$PATH:~/dev/bash_scripts"
4

3 回答 3

5

如果你想有一个别名来更改选项卡名称,你实际上可以通过在 .profile/.bashrc 文件中定义一个函数来做到这一点,如下所示:

function renametab () {
    echo -ne "\033]0;"$@"\007"
}
于 2013-01-16T10:43:47.977 回答
3

我遇到了同样的问题 - 但我看到选项卡名称短暂闪烁,然后再回到原来的状态:shell 和 cwd。原来我有一个环境变量更改每个 shell 命令上的选项卡名称,所以这为我修复了它:

export PROMPT_COMMAND=''

现在: echo -e "\033];MY_NEW_TITLE\007"

..工作得很好并且持续存在。

于 2012-07-29T03:00:26.940 回答
0
rename_tab () {
    TEXT=$1
    export PROMPT_COMMAND='echo -ne "\033]0;${TEXT}\007"'
}

这是一个功能。您可以将其添加到您的~/.bashrc(或类似的东西,如 a ~/.bash_profile)。要重命名选项卡,您可以执行以下操作:

$ rename_tab 'NEW NAME HERE'

于 2014-01-09T19:42:01.557 回答