[20171120]bash使用here documents的一個小細節.txt
阿新 • • 發佈:2017-11-20
細節 tin mon sin com 如果 subst bash turned
[20171120]bash使用here documents的一個小細節.txt
--//昨天看bash文檔,,發現一些小細節,做一個記錄,就是EOF加引號的問題.
command <<‘EOF‘
cmd1
cmd2 arg1
$var won‘t expand as parameter substitution turned off by single quoting
EOF
--//例子:
$ cat a.sh
#! /bin/bash
cat <<‘EOF‘
this is a test
hostname is $HOSTNAME
$(date)
EOF
$ . a.sh
this is a test
hostname is $HOSTNAME
$(date)
--//你可以發現$HOSTNAME,$(date)並沒有展開或者執行轉換.
--//如果寫成如下:
cat <<EOF
this is a test
hostname is $HOSTNAME
$(date)
EOF
$ . a.sh
this is a test
hostname is xxxxxx
Mon Nov 20 09:22:06 CST 2017
--//可以發現現在是執行了裏面的date命令,$HOSTNAME也發生了轉換.
[20171120]bash使用here documents的一個小細節.txt