ここで、最初のブロックは実行中であり、2番目のブロックは実行されません。問題は、EOIがスペースをドットとして扱うことです。ただし、タブはドットとして扱われません。インデントは私にとって効果的ではありません。しかし、タブやスペースをドットとして扱わないように指定する方法はありますか?
ssh -tt -vvv -i $pathToPem -o StrictHostKeyChecking=no $sshUsernameIp << EOI
sudo rm -rf letsencrypt.tar.gz
sudo rm -rf /etc/letsencrypt
sudo rm -rf /usr/local/share/ca-certificates/chain.crt
sed -e 1b -e '$!d' $remote_home_dir/.bashrc
sudo add-apt-repository ppa:certbot/certbot -y
sudo apt-get install certbot -y &
exit
trap exit INT
EOI
###############
ssh -tt -vvv -i $pathToPem -o StrictHostKeyChecking=no $sshUsernameIp << EOI
sudo certbot certonly -n --agree-tos --register-unsafely-without-email --standalone -d $FQDN
sudo chown -R root:sudo /etc/letsencrypt/
sudo chmod -R 750 /etc/letsencrypt/
sudo chmod -R 644 /usr/local/share/
sudo cp /etc/letsencrypt/live/$FQDN/chain.pem /usr/local/share/ca-certificates/chain.crt
sudo update-ca-certificates
sudo tar -czvf letsencrypt.tar.gz /etc/letsencrypt
exit
EOI
修正する これで、最初の部分が機能し、###############行で始まる2番目の部分に移動すると、次のようになります。
Command '.sudo' not found, did you mean:
command 'sudo' from deb sudo
command 'sudo' from deb sudo-ldap
Try: sudo apt install <deb name>
以前は誰かがソリューションを共有して削除しましたが、これが私には効果があるようです。 :)
すべてのコマンドの前に「.」を追加するのはなぜですか?