如何在远程机器(坐在本地机器上)上执行shell脚本,带有一些参数,我想从本地机器传递。
我尝试了ssh $remote_machine bash < script_for_remote_machine.sh $SRC_PATH $TGT_PATH $FILE_DT $bigsql_schema
选项,其中$SRC_PATH
和$TGT_PATH
是远程计算机中的某些目录。但是我在日志中收到如下错误
+ ssh remote_machine bash /remote_dir1 /remotedir2 20151016 AUDIT
/remote_dir1: /remotedir2: is a directory
+ RETURN_CODE=126
+ '[' 126 -eq 0 ']'
答案 0 :(得分:0)
首先通过复制远程计算机中的所有文件并在远程计算机中执行来解决问题,如下所示:
scp audit_executable_commands.sh $bigsql_user@$mgmt_node:/home/$bigsql_user
scp audit_record_loading_00.parm $bigsql_user@$mgmt_node:/home/$bigsql_user
ssh $mgmt_node bash < audit_executable_commands.sh
&#13;
其中audit_executable_commands.sh
是我的远程脚本。现在我也想传递参数,我通过参数文件解析了。我还在远程计算机中复制参数文件audit_record_loading_00.parm
,然后在. $cur_dir/audit_record_loading_00.parm
audit_executable_commands.sh
之类的行时获取远程计算机中的参数值