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

質問編集履歴

1

予測結果とテスト結果との比較結果が確認できる表を追加

2021/03/16 20:58

投稿

bpdjb3
bpdjb3

スコア1

title CHANGED
File without changes
body CHANGED
@@ -33,32 +33,52 @@
33
33
  |1|標準出力 (出力:test-std)|test1.txt (出力:test-std)|
34
34
  |2|標準エラー出力(出力なし)|標準エラー出力(出力なし)|
35
35
 
36
+ |出力先|予想結果|テスト結果|
37
+ |:--:|:--:|:--:|
38
+ |terminal|||
36
- テスト結果と比較するとtest1.txttest-stdが出力されており,terminalには何も出力されておらず,予想と一致しています.
39
+ |test1.txt|test-std|test-std|
37
40
 
41
+ テスト結果ではtest1.txtにtest-stdが出力されており,terminalには何も出力されていないため,上記の予想結果と一致しています.
42
+
38
43
  (i)-(ii).
39
44
  |ファイルディスクリプタ|echo実行直後|2>test2.txt|
40
45
  |:--:|:--:|:--:|
41
46
  |1|標準出力 (出力:test-std)|標準出力 (出力:test-std)|
42
47
  |2|標準エラー出力(出力なし)|test2.txt(出力なし)|
43
48
 
49
+ |出力先|予想結果|テスト結果|
50
+ |:--:|:--:|:--:|
44
- テスト結果と比較するとtest2.txtに何も出力されておらず,terminalにはtest-stdが出力されており,予想と一致しています.
51
+ |terminal|test-std|test-std|
52
+ |test2.txt|||
45
53
 
54
+ テスト結果ではtest2.txtに何も出力されておらず,terminalにはtest-stdが出力されているため,上記の予想結果と一致しています.
55
+
46
56
  (i)-(iii).
47
57
  |ファイルディスクリプタ|echo実行直後|1>&2|1>test3.txt|
48
58
  |:--:|:--:|:--:|:--:|
49
59
  |1|標準出力 (出力:test-err)|標準エラー出力 (出力:test-err)|test3.txt (出力:test-err)|
50
60
  |2|標準エラー出力(出力なし)|標準エラー出力(出力なし)|標準エラー出力(出力なし)|
51
61
 
62
+ |出力先|予想結果|テスト結果|
63
+ |:--:|:--:|:--:|
64
+ |terminal|||
52
- テスト結果と比較するとtest3.txtにはtest-errが出力されており,terminalには何も出力されておらず,予想と一致しています.
65
+ |test3.txt|test-err|test-err|
53
66
 
67
+ テスト結果ではtest3.txtにはtest-errが出力されており,terminalには何も出力されていないため,上記の予想結果と一致しています.
68
+
54
69
  (i)-(iv).
55
70
  |ファイルディスクリプタ|echo実行直後|1>&2|2>test4.txt|
56
71
  |:--:|:--:|:--:|:--:|
57
72
  |1|標準出力 (出力:test-err)|標準エラー出力 (出力:test-err)|標準エラー出力 (出力:test-err)|
58
73
  |2|標準エラー出力(出力なし)|標準エラー出力(出力なし)|test4.txt(出力なし)|
59
74
 
75
+ |出力先|予想結果|テスト結果|
76
+ |:--:|:--:|:--:|
60
- テスト結果と比較するとtest4.txtには何も出力されておらず,terminalにはtest-errが出力されており,予想と一致しています.
77
+ |terminal|test-err|test-err|
78
+ |test4.txt|||
61
79
 
80
+ テスト結果ではtest4.txtには何も出力されておらず,terminalにはtest-errが出力されているため,上記の予想結果と一致しています.
81
+
62
82
  ## スクリプト化したものを一括で実行してリダイレクトさせた場合(ii)
63
83
  問題は,上記のechoコマンドを一つのスクリプトにまとめ込み,スクリプトを実行させた場合です.スクリプトは以下のとおりです.なお,スクリプト名はtest.shです.
64
84
  ```
@@ -91,6 +111,11 @@
91
111
  |1|標準出力 (出力:test-std)|標準エラー出力 (出力:test-err)|標準出力(出力:test-std)と標準エラー出力(出力:test-err)|test6.txt (出力:test-stdとtest-err)|
92
112
  |2|標準エラー出力(出力なし)|標準エラー出力(出力なし)|標準エラー出力(出力なし)|標準エラー出力(出力なし)|
93
113
 
114
+ |出力先|予想結果|テスト結果|
115
+ |:--:|:--:|:--:|
116
+ |terminal||test-err|
117
+ |test6.txt|test-stdとtest-err|test-std|
118
+
94
119
  テスト結果と比較すると,テスト結果ではtest6.txtにtest-stdのみが出力されており,terminalにはtest-errが出力されています.
95
120
 
96
121
  (ii)-(ii).
@@ -99,6 +124,11 @@
99
124
  |1|標準出力 (出力:test-std)|標準エラー出力 (出力:test-err)|標準出力(出力:test-std)と標準エラー出力(出力:test-err)|標準出力(出力:test-std)と標準エラー出力(出力:test-err)|
100
125
  |2|標準エラー出力(出力なし)|標準エラー出力(出力なし)|標準エラー出力(出力なし)|test5.txt (出力なし)|
101
126
 
127
+ |出力先|予想結果|テスト結果|
128
+ |:--:|:--:|:--:|
129
+ |terminal|test-stdとtest-err|test-std|
130
+ |test5.txt||test-err|
131
+
102
132
  テスト結果と比較すると,テスト結果ではtest5.txtにtest-errのみが出力されており,terminalにはtest-stdが出力されています.
103
133
 
104
134
  いずれの結果も出力結果test-errの参照先が予想とテスト結果で異なっており,スクリプト実行直後にファイルディスクリプタ2の参照先となっていれば,予想とテスト結果が合致すると言えます.そこでスクリプト2行目の動作を見直してみると,echoでstd-errを標準出力として出力した後に(std-errのファイルディスクリプタは1),1>&2の操作によって,ファイルディスクリプタ1の参照先を標準出力エラーとしているため,やはり標準出力エラーとしてstd-err(ファイルディスクリプタは1)が出力されると予想されます.また,コマンドを個別で実行してリダイレクトさせた場合(i)ではそのように動作していることから,恐らくこの理解で問題がないと予想されます.