我有两段独立工作的代码,但不能一起工作。我需要将 if 语句放在 <Command_To_Be_Ran> 内。我有什么想法可以让它发挥作用吗?
for i in t{1..2}; do
ssh -qex -t $i 'echo <Sudo_Password> | sudo -S <Command_To_Be_Ran>'
done
和
if (( $(grep -o "fips=1" /etc/default/grub | wc -l) > 1 )); then
sed -i 's/ fips=1//' /etc/default/grub
fi
答案1
我想现在它会起作用了:D
for i in t{1..2}; do
ssh -qex -t $i "echo <Sudo_Password> | sudo -S bash -c '\
if (( $(grep -o 'fips=1' /etc/default/grub | wc -l) > 1 )); \
then sed -i 's/ fips=1//' /etc/default/grub ;\
fi'"
done
应该可以,换行符可以用;
and替换bash -c
,双引号 ( "
) 使您能够像在 shell 中一样运行命令。
如果您安装了 zsh(或者甚至在某些版本的 bash 中),您可能可以eval
使用bash -c