我有shell脚本连接到各种linux机器,但每台机器的SSH连接方式不同,大多数属于两类 1.公钥/私钥 2. sshpass。
Shell脚本有大约100个这样的命令所以我不能把if if条件放在任何地方,而不是我试图把命令放在顶部,这将给我sshConnection,它将在所有命令中使用,但它没有&# 39;工作。
if [ "${service}" = "Node-Machine" ]; then
sshConnection="ssh ${awsUser}@${fullMachineName} "
else
sshConnection="sshpass -p ${machinePassword} ssh root@${fullMachineName} "
fi
# Use of command
tempDir=`${sshConnection} "su - www-data -c \"ls -l\""`
/sshConnection.sh: line 35: ssh ubuntu@ec2-xxx.compute.amazonaws.com : command not found
如何在没有重复代码的情况下在linux命令中传递这样的ssh连接?