0

AIX でスクリプトを実行して、リモート サーバーで別のスクリプトを実行しようとしています。リモートスクリプトに加えて、に送信する必要がありstdoutます/dev/null。同じコマンドが別のサーバーで正常に動作しますが、現在のサーバーで実行するとハングします。何かアドバイスはありますか?

su - test -c "rsh testserver /scripts/testme" 2>&1 >/dev/null1

4

1 に答える 1

0

あなたのコメントでは、ユーザーがログインしたときにメニューが表示されると書いています。
エコーと読み取りコマンドを使用して、これが .profile ファイルで行われるとしましょう。
メニューが表示されるとき、readメニュー コードのコマンドは、出力をリダイレクトすることによってスキップされません。メニューはまだ入力を待っており、su コマンドがハングしているようです。

su コマンドを使用して呼び出されたときにメニューの表示をスキップするように.profileorを変更できますか? .bashrcこれが起動時に呼び出されると、 のリターンコードを見ることができますtty。コマンドラインから su コマンドを使用する場合は、別の解決策を探す必要があります。root シェルが ksh の場合は、次のことを試すことができます。

if [[ "$(ps -fp $$)" != *"-ksh -c "* ]]; then
   echo "Now I should call the Menu"
fi
于 2015-09-19T19:46:00.283 に答える