[20171120]bash使用here documents的一个小细节.txt

Posted lfree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[20171120]bash使用here documents的一个小细节.txt相关的知识,希望对你有一定的参考价值。

[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的主要内容,如果未能解决你的问题,请参考以下文章

[20171120]关于find 软连接问题.txt

Linux学习之路-Linux---20171120

云计算--网络原理与应用--20171120--VLAN与三层交换机配置

“Git Bash here”没有保留会话之间的 bash 历史记录 [重复]

使用git bash here上传代码到GitHub

使用git bash here拉取项目