2017-01-30 1 views
0
  • 私はttyが無効になっている自動化ツールを使ってシェルを実行しています。

parent.sh

echo "parent shell" 
./child.sh 

child.sh

echo child shell 
  • 私はターミナルコンソール上parent.shを実行したときには、出力するであろう私ttyが無効のときに子シェルを出力する方法

    parent shell 
    child shell 
    
  • しかし、私はttyが無効になっている私のオートメーションツールを実行します。その出力のみ私は:この動作とどのようにiがredrect子シェル別のファイルに出力し、それらを印刷する以外に達成することができますなぜ

    parent shell 
    
  • は、誰かが説明することができます。

+1

[編集ヘルプ](http://stackoverflow.com/editing-help)をご覧ください。 – Cyrus

+1

'。/ child.sh'ではなく'/path/to/child.sh'のような絶対パスを試してください – hek2mgl

+0

@ hek2mgl- child.shが実行されています。出力さえコンソールに送られます。 ttyが無効になっていると、child.shの出力は表示されません。 –

答えて

0

回答が見つかりました。 bashを使って子シェルを呼び出さなければなりません。
我々はその、新しいシェルで実行取得し、私の自動化ツールは、親シェルで出力を出力シェル子を呼び出しているとき、すなわち、この背後にはbash child.sh

理由は、あります。 bashを使って呼び出すと、親シェルの子シェルが実行されます。

私はbashシェルを使用しているので、私はbashで実行しています。他のシェルの場合、対応するシェルキーワードを持つ子スクリプトを呼び出す必要があります。

関連する問題