シェルスクリプトの途中でsuを実行して残りのスクリプトを続行するにはどうすればよいですか? [コピー]

シェルスクリプトの途中でsuを実行して残りのスクリプトを続行するにはどうすればよいですか? [コピー]
#!/bin/bash
USERNAME=abcds
HOSTS="abcde fghij klmno pqrst aksjd ajsdf"
SCRIPT="su - admin;hostname;ulimit -u;ulimit -n"
for HOSTNAME in ${HOSTS} ; do
    ssh -l ${USERNAME} ${HOSTNAME} "${SCRIPT}"
done

上記のスクリプトが機能せず、エラーが表示されます。標準入力はttyでなければなりません。

解決策はありますか?

答え1

ttyを割り当てるには、in-tでキーを使用します。ssh

関連情報