2006/10/26
Shell scripting with Here document
shで、ヒアドキュメントを使ってやられた。
は動くけど、
は動かない。
理由は、<<はファイルディスクリプタだかららしい。lsofかなにかで、<<の処理をしてるタイミングを覗くと、FDが一つ増えていて<<の正体がわかるみたい。
perlとかだと、文字列として展開されるはずだったから、shellでもそのつもりだった。。
% cat <<EOF
line1
line2
EOF
は動くけど、
% echo <<EOF
line1
line2
EOF
は動かない。
理由は、<<はファイルディスクリプタだかららしい。lsofかなにかで、<<の処理をしてるタイミングを覗くと、FDが一つ増えていて<<の正体がわかるみたい。
perlとかだと、文字列として展開されるはずだったから、shellでもそのつもりだった。。