zshやbashでヒアドキュメントを利用するときに、いつも忘れてやらかすのでメモ
変数展開してしまう例
1
2
3
4
5
6
7
| cat << EOF >/etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
EOF
|
1
2
3
4
5
6
7
| cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos///
gpgcheck=0
enabled=1
|
$releasever
と$basearch
が変数として展開されてしまう。
変数展開しない例
区切りシンボルをシングルクオート'
かバッククオート"
することで
変数展開を抑制出来る。
1
2
3
4
5
6
7
| cat << 'EOF' >/etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
EOF
|
1
2
3
4
5
6
7
| cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
|
参考記事