開発サーバーに接続するエイリアスがあります。
alias sshDev='ssh -p 22 username@ip_address'
接続して自動的に新しいディレクトリに切り替えることができるようにしたいです。
cd ../my-favorite-directory
1つのローカルエイリアスで両方のコマンドを実行する方法はありますか?
ベストアンサー1
次のようにコマンドのエイリアスを設定できます。
alias sshDev="ssh -tp 22 username@ip_address 'cd /path/to/dir; bash'"
Arthur2e5が提案したようにパラメータを追加すると-il
便利です。
関連部品man bash
:
-i If the -i option is present, the shell is interactive.
-l Make bash act as if it had been invoked as a login shell (see INVOCATION below).
動的ターゲットフォルダが必要な場合(エイリアスが呼び出されるたびに定義)、エイリアスによって呼び出される関数を作成する必要があります。たとえば、
alias sshDev=ssh·Dev
function ssh·Dev() {
if [ "$#" -eq 0 ]; then
fav_dir="/path/to/dir"
else
fav_dir=$1
fi
ssh -tp 22 username@ip_address "cd $fav_dir; bash"
}
この小さなコードスニペットを使用して、コマンドラインにエイリアスを呼び出す(入力)場合(sshDev
引数なし)、関数で定義された静的/ path / to / dirを使用します。それ以外の場合は、次のようにエイリアス呼び出しインラインsshDev /one/other/path/to/dir
で指定されたパスを使用します。