여기서 첫 번째 블록은 실행 중이고 두 번째 블록은 실행되지 않습니다. 문제는 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
고쳐 쓰다 이제 첫 번째 부분이 작동하고 ############### 줄에서 시작하는 두 번째 부분으로 이동하면 다음이 표시됩니다.
Command '.sudo' not found, did you mean:
command 'sudo' from deb sudo
command 'sudo' from deb sudo-ldap
Try: sudo apt install <deb name>
이전에 누군가가 솔루션을 공유했다가 삭제했는데, 이것이 제게는 효과가 있을 것 같습니다. :)
모든 명령 앞에 "."을 추가하는 이유는 무엇입니까?