1

次の ./symmir 実行可能ファイルの出力を出力ファイルにキャプチャしたいと考えています。

実行可能ファイルは、最初に続行するかどうかを尋ねます。次の KornShell (ksh) スクリプトでわかるように、私は質問に対して「Y」と答えます。質問に答えた後の反応を具体的に捉えたい。

#!/bin/ksh
./symmir <<EOF
Y
EOF

以下は、質問に答えた後の応答ではなく、質問を file1 にリダイレクトするだけであるため、機能しません。

#!/bin/ksh
./symmir >> file1 <<EOF
Y
EOF

ご協力ありがとうございました。

4

3 に答える 3

0

だろう

#!/bin/ksh
./ask_me <<EOF >> file1
Y
EOF

仕事?

ただし、コード

#!/bin/ksh
./ask_me >> file1 <<EOF 
Y
EOF

私のテストでも問題なく動作します。

文字列を取得/出力するコードは (ask_me.c) です。

 #include <stdio.h>

 int main()
 {
   char input[256];
   gets(input); /* Unsafe */

   printf("You have entered '%s'\n", input);

   return 0;
 }
于 2013-03-19T18:04:35.950 に答える
0

回答の行数がわかっている場合は、次のようなことができます。

# assumed 1 line in the answer
./symmir <<EOF |tail -n 1 >>file1
Y
EOF

または、symmir質問と回答を異なるストリーム (stdout に 1 つ、stderr に 1 つ) に出力できる場合は、そのうちの 1 つだけをリダイレクトできます。

# assumed symmir writes answer to stderr: echo $answer 1>&2
./symmir <<EOF 2>>file1
Y
EOF
于 2013-03-19T18:13:23.380 に答える
0

これは EMC symcli symmir コマンドでしょうか?

この場合は、-nopromptオプションを使用して、コマンドが確認を求めないようにします。

于 2013-03-19T21:57:13.897 に答える