あれこれ備忘録@はてなブログ

勉強したことやニュースや出来事を備忘録として書いていきます

このブログには広告が含まれます

内部コマンド、外部コマンド、リダイレクト、パイプ

第3回 標準入出力すりかえのテクニック(連載 シェルスクリプト・ステップ・バイ・ステップ) echoにはbashに備わっている内部コマンドと/bin/echoという独立した外部コマンドの二種類がある。
$ echo --version --version $ /bin/echo --version echo (GNU sh-utils) 1.16
上のコマンドはbashの内部コマンドでこれは"--version"という文字列をそのまま出力しているだけ。 下の場合、/bin/にあるechoというコマンドプログラムを呼び出しているが、この場合"--version"はechoコマンドのオプションとして解釈され、echoのバージョンが表示される。 echo "Hello World" > hello ">"はリダイレクト。echoコマンドの実行結果をhelloというファイルに書き出している。 echoの出力先をbashが標準出力からファイルへとすり替えている。 この操作はforkとexecというコマンドを組み合わせて実現されている。 fork(通信用語の基礎知識) UNIXの部屋 コマンド検索: exec ファイルの内容を標準入力にリダイレクトする場合は cat < hello のようにする。 ls | grep a のように、ひとつ目のコマンドの実行結果を次のコマンドの引数にする処理をパイプという。 これはひとつ目のコマンドの実行結果をファイルにリダイレクトして、それを次のコマンドの入力としてさらにリダイレクトしていると考えることができる。 Linux&UNIX Shellプログラミング―Bourneシェル徹底攻略 仕事に使えるLinuxシェルスクリプト bashで作る実用サンプル41 入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 仕事に使えるLinuxシェルスクリプト~bashで作る実用サンプル41 【送料無料!ポイント2倍!!】【書籍】UNIX/Linuxシェルスクリプトマスタリングハンドブック