我希望能够命名一个终端选项卡,以便我可以跟踪哪个是哪个。我发现这个功能(这里)并将其放入我的.bashrc
:
function set-title() {
if [[ -z "$ORIG" ]]; then
ORIG=$PS1
fi
TITLE="\[\e]2;$*\a\]"
PS1=${ORIG}${TITLE}
}
现在,当我调用set-title my new tab name
选项卡名称时,选项卡名称将按预期更改为“我的新选项卡名称”。问题是我想打开一个新选项卡并使用 命名它set-title
。我尝试这样做的方式是这样的:
gnome-terminal --geometry=261x25-0+0 --tab -e "bash -c 'set-title tab1; sleep 10'" --tab -e "bash -c 'set-title tab2; sleep 10"
但是,现在我收到以下错误消息:
bash: set-title: command not found
我认为这与新的 gnome 选项卡还不了解该.bashrc
功能有关。
我怎样才能让它发挥作用?
答案1
使用函数的瞬间,set-title
您可以使用此功能创建命令,因此删除set-title()
您添加的函数~/.bashrc
并创建一个文件/usr/local/bin/set-title
:
#!/bin/bash
echo -ne "\033]0;$1\007"
添加 chmod: chmod +x /usr/local/bin/set-title
.重新打开终端后,您可以通过以下方式使用此命令:(set-title TEST
如果您的/usr/local/bin/
)$PATH
。
然后您可以通过以下方式创建新选项卡时使用它:
gnome-terminal --geometry=261x25-0+0 \
--tab -e "bash -c 'set-title TAB1; sleep 10'" \
--tab -e "bash -c 'set-title TAB2; sleep 10'"
/usr/local/bin/
如果您的 中没有$PATH
,您可以尝试使用 set-title 命令的绝对路径:
--tab -e "bash -c '/usr/local/bin/set-title TAB1; sleep 10'"
答案2
如果您希望运行 .bashrc、.bash_profile、.profile 等初始化脚本,请使用--login
选项启动 gnome-terminal。