Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック第二章練習問題その1

第一章は書く必要を感じなかったが第二章は少し難しいので書くことにした。

2.1節

練習2.1.a 標準入出力・標準エラー出力

メジャーなコマンドは渡すべきデータを標準出力、渡さないほうがいいデータを標準エラー出力から出す。二つとも普段は端末の画面につながっているが、リダイレクトやパイプで標準出力がファイルや別コマンドにつながると、画面には標準エラー出力がつながる(逆もまたしかり)。sed > a のようなコマンドを打っても画面に出力がされる理由は、sed と打っただけの出力が標準エラー出力から出てくるものだからである。不思議なことに sed --help と入力すると(これは sed と同じ内容が出てくる...と思ったら最後の一行に sed にはなかった連絡先が追加されていた)標準出力から出てくるらしく、 sed --help > a でちゃんとファイルに書き込まれる。

>に数字をつけたり&をつけたりの話は本に書いてある内容で納得できたので省略する。

 

練習2.1.b シェルと変数

変数を定義するときは a=hoge のように空白を入れずにやる。そうでないと a というコマンドに =, hoge という引数が与えられたように解釈される。

 

残りの問題はまた次に書く。