Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何在远程ssh命令中传递参数_Shell_Ssh - Fatal编程技术网

Shell 如何在远程ssh命令中传递参数

Shell 如何在远程ssh命令中传递参数,shell,ssh,Shell,Ssh,我正在尝试在远程主机上运行shell脚本,同时我还想传递一些参数。下面是我的本地主机shell脚本 pwd echo $0 echo $1 echo $2 echo thanku everyone!! 要运行此脚本,我将使用以下命令 ssh user@server 'ksh' < ./code sshuser@server“ksh”

我正在尝试在远程主机上运行shell脚本,同时我还想传递一些参数。下面是我的本地主机shell脚本

pwd
echo $0
echo $1
echo $2
echo thanku everyone!!
要运行此脚本,我将使用以下命令

ssh user@server 'ksh' < ./code
sshuser@server“ksh”
我想用这个命令传递参数。请向我澄清这一点


提前感谢。

您无法传递参数,因为您正在启动
ksh
并使用
/code
作为标准输入

但是您可以设置一个环境变量,然后将其用作命令行,注意

ichramm@wilderkrieger:~$ cat code
function run() {
    echo $1;
    echo $2;
}

run $COMMAND_LINE

ichramm@wilderkrieger:~$ ssh localhost 'COMMAND_LINE="hello world" ksh' < ./code
hello
world
ichramm@wilderkrieger:~$cat代码
函数运行(){
回声1美元;
回声2美元;
}
运行$COMMAND\u行
ichramm@wilderkrieger:~$ssh localhost'COMMAND\u LINE=“hello world”ksh”<./代码
你好
世界

是否可以将脚本存储在远程服务器上?我不存储脚本。只是从本地到远程主机运行shell脚本。不,它不工作。sshuser@host'COMMAND_LINE=“hello world”ksh'<./thur1我是这样使用的,我的代码是函数run(){echo$1;echo$2;}在主机上运行此代码时运行$COMMAND_LINE。它显示以下错误语法错误:“(”意外。请在此澄清我。谢谢..->请澄清我的上述评论。这是因为我的
run()
是一个bash函数,而您需要一个简单的示例,只需删除括号即可。