gpt4 book ai didi

bash - 在bash中将多行参数传递给ssh?

转载 作者:行者123 更新时间:2023-12-02 14:12:47 24 4
gpt4 key购买 nike

我想将以下参数传递给bash脚本:

ssh -t $slaveAddr "chmod a+rwx newSlaveInstallation.sh; 
echo 'running the installation script....';
./newSlaveInstallation.sh $USERNAME $NEW_REPLICATION_VAL "$slaveList";
exit"

username是一个类似“user”的用户名,新的复制val是一个数字,slavelist是一个新行分隔的IP地址列表,例如“1.2.3.4 derp \ n 1.2.3.5 derpp”。但是,一旦我传递了这三个参数对于ssh,对于slaveList,它仅考虑IP地址,而不考虑换行符值的整个字符串。换句话说,如果我在脚本中回显slaveList,它会给我“1.2.3.4”。是否有任何特殊格式可传递字符串的整个值?谢谢!

最佳答案

您需要转义第一个和最后一个引号中的双引号。否则,该命令将被截断。

ssh -t "$slaveAddr" "chmod a+rwx newSlaveInstallation.sh; 
echo 'running the installation script....';
./newSlaveInstallation.sh $USERNAME $NEW_REPLICATION_VAL \"$slaveList\";
exit"

关于bash - 在bash中将多行参数传递给ssh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18392796/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com