インタラクティブなシェルスクリプトがあり、ある場所で別のマシン(Ubuntuベース)にsshし、rootとして何かを実行する必要があります(ユーザーはパスワードを入力する必要がありますが、リモートコマンドはスクリプトに記載されているように実行する必要があります):
# ...
ssh remote-machine 'sudo ls'
# ...
ただし、このエラーメッセージは常に返されます。
sudo: no tty present and no askpass program specified
わかりました。しかし、どうすればこれを回避できますか?このようなことが起こるはずです:
$ ssh remote-machine 'sudo ls /'
[sudo] password for user1:
/bin
/etc
/var
ls
出力には、たとえば\ r \ nの末尾が含まれます。