質問するログイン新規登録

質問編集履歴

1

標準入力の記載を訂正

2021/09/13 04:11

投稿

s-o
s-o

スコア6

title CHANGED
File without changes
body CHANGED
@@ -3,9 +3,9 @@
3
3
 
4
4
  ### 問題点
5
5
  A.shはコマンドライン引数が必要で、 `$ A.sh string`のように使います。
6
- B.shはコマンドライン引数やオプションを必要し、またtestコマンドで標準入力の有無を判定し処理内容を変更しています。
6
+ B.shはコマンドライン引数やオプションを必要し、またtestコマンドで標準入力がパイプかどうかを判定し処理内容を変更しています。
7
7
 
8
- B.sh単体での実行は問題ありませんが、A.shから標準入力なしで呼び出すにも関わらず、B.sh内で標準入力ありと判定され、正しく処理できません。
8
+ B.sh単体での実行は問題ありませんが、A.shから呼び出す場合、B.sh内でパイプと判定され、正しく処理できません。
9
9
 
10
10
  ### こうしたい
11
11
  B.sh単体およびA.shからB.shを呼び出した場合でも正しく標準入力を受け取りたい。
@@ -24,7 +24,6 @@
24
24
  #!/usr/bin/env bash
25
25
  if [ -p /dev/stdin ]; then
26
26
  data=$( cat - )
27
- echo "${data}"
28
27
  else
29
28
  data=$( cat ${infile} )
30
29
  fi
@@ -37,7 +36,7 @@
37
36
  ```Bash
38
37
  bash B.sh -p $arg_P -t $arg_T ${infile} > ${outfile}
39
38
  ```
40
- この場合に、A.shを実行するとB.shで標準入力ありと判定されてしまいます。
39
+ この場合に、A.shを実行するとB.shで標準入力がパイプと判定されてしまいます。
41
40
 
42
41
  質問が拙くて申し訳なく思います。
43
42
  ご質問やご不明点がございましたらコメントください。よろしくお願いします。