在linux命令中传递各种ssh连接而不复制代码

时间:2018-04-16 08:29:26

标签: bash ssh

我有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连接?

0 个答案:

没有答案