![SSH 远程执行本地脚本并附带参数](https://linux22.com/image/692596/SSH%20%E8%BF%9C%E7%A8%8B%E6%89%A7%E8%A1%8C%E6%9C%AC%E5%9C%B0%E8%84%9A%E6%9C%AC%E5%B9%B6%E9%99%84%E5%B8%A6%E5%8F%82%E6%95%B0.png)
我正在尝试使用 SSH 远程执行本地脚本,下面是我操作的方法:
function remoteRun{
if [ $# -ls 2 ]; then
usage()
exit 1
fi
ssh $1@$2 'bash -s' < $3
}
remoteRun user host script.sh
现在我尝试做同样的事情,但将一些参数传递给 script.sh 脚本。
您认为类似的事情会按预期进行吗?
remoteRun user host script.sh all step
如果不是,当您需要在 Box A 上生成脚本但在 Box B 中执行它们时,您的最佳做法是什么?
答案1
function remoteRun()
{
if [ $# -ls 2 ]; then
usage()
exit 1
fi
cat << FOOF > /tmp/script
ls -l /var/log/
FOOF
scp /tmp/script user@host:/tmp/
ssh user@host "bash /tmp/script"
}
remoteRun user host script.sh