ShellScript 標準入力 標準出力 標準エラー出力 について


目的

  • ShellScriptを書く際に必要な入力と出力の考え方をまとめる。

この記事のターゲット

  • ShellScriptを初めて書く方
  • Linuxに触れている方

そもそも入力と出力とは(身近なATMで考えてみる)

  1. 入力とは

    • 銀行に行きATMでお金をおろすときに画面にタッチして暗証番号を打つ(入力する)こと。
    • ATMの機械に情報を与えること。
  2. 出力とは

    • 銀行に行ってATMに入力した情報をもとにお金が払い出されること。
    • 入力の結果が返ってくること。

ShellScriptでの標準入力、標準出力、標準エラー出力

  1. 標準入力

    • スクリプトのファイルに情報を与えてあげること。
    • 与える情報の内容に限らず、すべて入力と呼ばれる。
    • 標準入力には名前があり数字の”0”が与えられている。
    • 難しく考えないで、単純に普通の文字の入力と同じ。
  2. 標準出力

    • 標準入力に対する反応
    • 電卓で計算したときの答えと一緒
    • スクリプトで正常に処理がされたときの答え
    • 標準出力にも名前があり数字の”1”が与えられている
  3. 標準エラー出力

    • 標準入力に対する普通でない反応
    • スクリプトの中の処理がうまくいかなくて期待通りの反応が返ってこなかったこと
    • 入力がおかしくて処理がうまくいかなくて期待通りの反応が返ってこなかったこと
    • 変な反応、異常な反応くらいに考えておけば良い
    • 標準エラー出力にも名前があり数字の”2”が与えられている
    • スマホのロック解除で、番号を間違えると「パスコードが違います」といわれるのと同じ

まとめ

  • プログラミング言語に触れてこなかった人(自分も)は確実に理解に苦労するであろう箇所と思う。
  • 独特な考えであるように思えるが、実は皆さんの生活の中にも各入出力は存在している。
  • あまり難しく考えるとドツボのはまるため、あまり深く考えすぎないことが重要。