回答:
以下を使用しています。
次のmyssh
内容のシェルコマンドを作成します。
PROFILE="$1";shift;
DEF="Basic" #the default profile name
echo "tell app \"Terminal\" to set current settings of first window to settings set \"${PROFILE}\""|osascript
ssh $@
echo "tell app \"Terminal\" to set current settings of first window to settings set \"${DEF}\""|osascript
次のように、接続にbashエイリアスを使用します。
alias ssweb='myssh Homebrew user@web.example.com'
alias ssmail='myssh Ocean me@mail.example.com'
Webサーバーにsshしたいときssweb
は、ターミナルに書き込むだけで"Homebrew"プロファイルを取得しました。sshセッションが終了すると、AppleScriptは「基本」に戻ります。
エイリアスは$ HOME / .profileまたは同様のbash-startupファイルに配置する必要があります。
「Homebrew」、「Ocean」などは、Terminal.app設定からの設定プロファイルです。さまざまなフォント、エンコーディングなどを設定することもできます。
もちろん、次のように(エイリアスなしで)直接使用できます。
myssh Pro user@another.machine.example.com
^ ^
| ssh command arguments
terminal profile name
私はすでにいくつかの答えがあることを知っていますが、ここに代替があります:
背景色を変更する一般的な方法はありませんが、ウィンドウタイトルを変更する標準的な方法を使用できます。「Unixサーバー」以外の多くのデバイス(ネットワークデバイス、ルーター、スイッチ、ファイアウォールなど)にログインしている場合は、それらのシェルを使用する必要があり、独自のシェル変数をインストールできません。だから、ここに別の方法があります:
function ssh() {
H=$(echo $@ | sed -e 's/.*@//g;s/ .*//g')
echo $@ | grep '@' && U=$(echo $@ | sed -e 's/@.*//g;s/.* //g')
echo -ne "\033]0;${U:=$(whoami)}@${H%%.*}\007"
unset H
unset U
/usr/bin/ssh $@
}
これをに追加します.bashrc
。
基本的に、パスを調べるよりも関数とエイリアスが優先されるため、これはsshコマンドを使用し、「@」の前後のテキストを使用してHOST変数とUSER変数を設定し、HOST変数とUSER変数を使用して、ASCIIコードをエコーします。ターミナルとタイトルの設定に使用されます。
これには、「ssh -l user host.blah」ではなく、「ssh user@host.blah」を使用する必要があります。
ユーザー名を指定しない場合、それは現在のユーザー名として設定されます(明らかに、カスタムの.ssh / config(私が頻繁に使用します)を使用している場合)これは正確ではありませんが、それで十分だと思います役に立つ。