AIX でスクリプトを実行して、リモート サーバーで別のスクリプトを実行しようとしています。リモートスクリプトに加えて、に送信する必要がありstdout
ます/dev/null
。同じコマンドが別のサーバーで正常に動作しますが、現在のサーバーで実行するとハングします。何かアドバイスはありますか?
su - test -c "rsh testserver /scripts/testme" 2>&1 >/dev/null1
あなたのコメントでは、ユーザーがログインしたときにメニューが表示されると書いています。
エコーと読み取りコマンドを使用して、これが .profile ファイルで行われるとしましょう。
メニューが表示されるとき、read
メニュー コードのコマンドは、出力をリダイレクトすることによってスキップされません。メニューはまだ入力を待っており、su コマンドがハングしているようです。
su コマンドを使用して呼び出されたときにメニューの表示をスキップするように.profile
orを変更できますか? .bashrc
これが起動時に呼び出されると、 のリターンコードを見ることができますtty
。コマンドラインから su コマンドを使用する場合は、別の解決策を探す必要があります。root シェルが ksh の場合は、次のことを試すことができます。
if [[ "$(ps -fp $$)" != *"-ksh -c "* ]]; then
echo "Now I should call the Menu"
fi