从本地计算机中的shell脚本在远程计算机中执行shell脚本

时间:2015-10-16 05:44:28

标签: shell

如何在远程机器(坐在本地机器上)上执行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 ']'

1 个答案:

答案 0 :(得分:0)

首先通过复制远程计算机中的所有文件并在远程计算机中执行来解决问题,如下所示:

&#13;
&#13;
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;
&#13;
&#13;

其中audit_executable_commands.sh是我的远程脚本。现在我也想传递参数,我通过参数文件解析了。我还在远程计算机中复制参数文件audit_record_loading_00.parm,然后在. $cur_dir/audit_record_loading_00.parm

执行audit_executable_commands.sh之类的行时获取远程计算机中的参数值