ターミナルタブに名前を付けて、どのタブがどれなのかを把握できるようにしたいのですが、この機能を見つけました(ここ) にして、それを自分の.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 を起動します。