.bashrc後でコマンドラインで使用できる関数を定義します。
function mycommand() {
ssh user@123.456.789.0 cd testdir;./test.sh "$1"
}
このコマンドを使用すると、cdコマンドだけがリモート ホストで実行されます。test.shコマンドはローカル ホストで実行されます。これは、セミコロンが 2 つの異なるコマンド (sshコマンドとコマンド) を区切るためtest.shです。
次のように関数を定義しようとしました(一重引用符に注意してください):
function mycommand() {
ssh user@123.456.789.0 'cd testdir;./test.sh "$1"'
}
cdコマンドとコマンドをまとめようとしましたが、関数に与えるものとは関係なくtest.sh、引数が解決されません。$1常にコマンドを実行しようとします
./test.sh $1
リモートホスト上。
に与えられた引数を渡す機能を使用して、ディレクトリに変更した後にmycommandスクリプトtest.shがリモートホストで実行されるように、適切に定義するにはどうすればよいですか?testdirmycommandtest.sh