独立して動作しますが、一緒に動作しない2つのコードがあります。 <Command_To_Be_Ran>内にifステートメントを入れる必要があります。どのように動作させることができるのアイデアはありますか?
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
ことができ、二重引用符("
)を使用すると、シェルと同様にコマンドを実行できます。
zshがインストールされている場合(または一部のbashバージョンでも)、次のものをeval
使用できます。bash -c