在我.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
,以便脚本test.sh
在更改到目录后在远程主机上执行testdir
,并能够将给定的参数传递mycommand
给test.sh
?