私は別のスクリプトを呼び出すシェルスクリプトを作成しましたが、2番目のスクリプトはパスワードの入力を求めます。パスワードを提供し、ユーザーに知らせずにプロンプトを渡したいと思います。
これは私のスクリプトです。
su - s3 -c "su.sh"
私は以前試しました:
su - s3 -c "echo pass | su.sh"
しかし、エラーが発生します。
standard in must be a tty
修正する:
コマンドのスクリーンショット。
私も疲れています:
su - s3 -c "echo mypass|sudo -S su.sh"
しかし、別のエラーが発生します。
sudo: sorry, you must have a tty to run sudo
su.shコマンド:
if [ ! -n "$IS_WINDOWS" ]
then
/bin/su root -c "...."
fi
答え1
答え2
あなたはそれを使用することができます予想されるプログラムは、パスワードを要求すると応答を提供します。これにはパスワードをハードコードするセキュリティ上の問題もあり、通常はパスワードなしでコマンドを実行するようにsudoルールを設定するのが最善です。