EOIまたはEOSSHを使用してコマンドの前にドットを追加して、SSHスクリプトをリモートで実行します。

EOIまたはEOSSHを使用してコマンドの前にドットを追加して、SSHスクリプトをリモートで実行します。

ここで、最初のブロックは実行中であり、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>

以前は誰かがソリューションを共有して削除しましたが、これが私には効果があるようです。 :)

すべてのコマンドの前に「.」を追加するのはなぜですか?

関連情報