Programmer's Note

コード読み書きの備忘録。

bashの <<< を使ってみる

bashのリダイレクトに<<<が使えることを最近知った。
(bash以外のシェルでも対応してるかどうかは調べてないので不明)

これは、文字列を標準入力として、コマンドに渡したい場合に使えるっぽい。

下記のサイトで知った:
 http://cfenollosa.com/misc/tricks.txt

wcで試してみる。

ファイルの中身:

$cat test.txt
test test test


(1) ファイル名を渡す

$wc test.txt
       1       3      15 test.txt

(2) パイプで渡す

$cat test.txt | wc
       1       3      15

(3) echoして渡す

$echo "test test test" | wc
       1       3      15

(4) <<<を使う

$wc <<< "test test test"
       1       3      15


ちなみに<<も使えて、こちらの方がメジャーだと思うが
以下のようになる
(5) <<を使う

$wc << EOF
> test test test
> EOF
       1       3      15

で、引数なしでもできる。

(6)引数なしでやる場合

tmp $wc
test test test
^D
       1       3      15

^D はControl押しながらdを押す。

======

結局のところ、<<もそうだが、<<<は単体でコマンド入力する場合よりも、
シェルスクリプトの中で使う方が便利でしょうね。