我希望能夠命名一個終端選項卡,以便我可以追蹤哪個是哪個。我發現這個功能(這裡)並將其放入我的.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。