最佳答案
在我的 .bashrc中,我定义了一个函数,以后可以在命令行中使用:
function mycommand() {
ssh user@123.456.789.0 cd testdir;./test.sh "$1"
}
使用此命令时,只在远程主机上执行 cd命令; 在本地主机上执行 test.sh命令。这是因为分号分隔了两个不同的命令: ssh命令和 test.sh命令。
我尝试定义函数如下(注意单引号) :
function mycommand() {
ssh user@123.456.789.0 'cd testdir;./test.sh "$1"'
}
我尝试将 cd命令和 test.sh命令保持在一起,但是没有解析 $1参数,这与我给函数的内容无关。它总是尝试执行命令
./test.sh $1
在远程主机上。
如何正确定义 mycommand,以便在更改到目录 testdir之后在远程主机上执行脚本 test.sh,并且能够将给予 mycommand的参数传递给 test.sh?