这个用于命名iTerm标签的脚本如何工作?

Deo*_*omo 2 bash shell iterm

我正在尝试命名我的iTerm标签并找到此链接.这是该帖子的相关部分:

我写了一个简单的脚本,我称之为"nametab",它允许您从命令行命名您所在的选项卡.你只需键入:

$ nametab New tab name
Run Code Online (Sandbox Code Playgroud)

如果您想自己使用,请输入以下代码:

#!/bin/bash

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

echo -ne "\033]0;"$@"\007"
Run Code Online (Sandbox Code Playgroud)

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

chmod u+x nametab.sh
Run Code Online (Sandbox Code Playgroud)

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

你能帮我理解一下我不懂吗?


更新:

echo TERM=$TERM
Run Code Online (Sandbox Code Playgroud)

回报

TERM=xterm-256color
Run Code Online (Sandbox Code Playgroud)

echo $PATH
Run Code Online (Sandbox Code Playgroud)

回报

.:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:~/dev/bash_scripts
Run Code Online (Sandbox Code Playgroud)

cat ~/dev/bash_scripts/nametab.sh
Run Code Online (Sandbox Code Playgroud)

回报

#!/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"
Run Code Online (Sandbox Code Playgroud)

nametab.sh hellooooo
Run Code Online (Sandbox Code Playgroud)

回报

trying to rename the current tab to helloooo
finished
Run Code Online (Sandbox Code Playgroud)

但是标签名称始终保持不变.

顺便提一下,选项卡名称是

MindRoot (bash)
Run Code Online (Sandbox Code Playgroud)

我正在运行iTerm2.我尝试在我的所有bash shell配置/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"
Run Code Online (Sandbox Code Playgroud)

小智 5

如果您想要更改选项卡名称的别名,您可以通过在.profile/.bashrc文件中定义一个函数来实际执行此操作,如下所示:

function renametab () {
    echo -ne "\033]0;"$@"\007"
}
Run Code Online (Sandbox Code Playgroud)