Linux
如何通過 ssh 傳遞多個參數並在 ssh 腳本中使用這些參數?
我正在嘗試使用ssh在遠端機器user@remote-01上執行腳本文件****sc.sh。我還需要在執行這個 ssh 命令時傳遞參數。所以我必須在sc.sh中使用這些參數。這是我正在嘗試執行的腳本
var1=True var2=False var3=True sshpass -p 'pswd' ssh user@remote-01 "bash -s" < /home/user/sc.sh
我的 sc.sh 看起來像:
if var1 -eq True; then echo "Todo" fi if var2 -eq True; then echo "Todo" fi if var3 -eq True; then echo "Todo" fi ..... so on
我如何將 var1、var2、var3 作為參數傳遞並在我的腳本中使用它們?
這個問題之前已經回答過了。
但是,您可能想要做的事情如下。
sc.sh
#!/bin/bash var1=$1 var2=$2 var3=$3 if $var1 -eq True; then echo "Todo1" fi if $var2 -eq True; then echo "Todo2" fi if $var3 -eq True; then echo "Todo3" fi
然後執行以下命令
ssh user@remote-01 'bash -s' < test.sh true true true
BASH 中的參數可以通過 $ number e.g. $ 1
最後,通過多次嘗試和錯誤嘗試得到了解決方案。
var1="True" var2="False" var3="True" sshpass -p 'pswd' ssh user@remote-01 "bash -s" < /home/user/sc.sh "$var1 $var2 $var3"
並且應該在sc.sh中使用如下
if [ "$1" = "True" ]; then echo "Todo" fi if [ "$2" = "False" ]; then echo "Todo" fi if [ "$3" = "True" ]; then echo "Todo" fi