Shell中, 内嵌文档和内嵌字符串的使用

来源:互联网 发布:three.js 全景图 插件 编辑:程序博客网 时间:2024/05/16 05:44

内嵌文档(Here Documents)

内嵌文档(Here Documents)的完整用法如下:

[n]<<[-]word        here-documentdelimiter

常规用法

cat <<EOFa text linea command substitution: `pwd`a parameter expansion: $$EOF# 输出a text linea command substitution: /Users/lishaolin/Workspace/Shell/a parameter expansion: 1038

这种用法会执行命令替换, 展开变量等. 是否可以不执行命令替换, 展开变量呢?当然可以,这就是下一种用法了。

引号(”或”“)word

cat <<EO'F'a text linea command substitution: `pwd`a parameter expansion: $$EOF# 输出a text linea command substitution: `pwd`a parameter expansion: $$

word带一对引号(”或”“),内嵌文档就不会执行命令替换, 展开变量。再琢磨一遍前面的描述,只要word带一对引号(”或”“),就可以了,也就是说,'EOF', "EOF", ""EOF, EOF"", EO""F, EO"F"等等都是可以的!

减号(-)word

cat <<-EOF    tab  white spaceabc    EOF# 输出tab  white spaceabc

减号(-)可以去掉内嵌文档中头部(leading)的tab,同样也会去掉delimiter中的头部tab

内嵌字符串(Here Strings)

内嵌字符串(Here Strings)的完整用法如下:

[n]<<< word

它的作用是向文件描述符n输出一个字符串,如果n未指定,则默认为标准输入(STDIN)。该字符串尾部会被添加换行符

举个例子

EXPR='1 + 2'echo "$EXPR = $(bc <<< $EXPR)"# 等价于echo "$EXPR = $(echo "$EXPR" | bc)"

可以看到, 使用内嵌字符串的形式会更简洁,更优雅一些^_^

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 学车证明丢失怎么办? 哈尔滨空挂户口怎么办 厦大学生怎么办厦门居住证 厦门网上办理居住证怎么办 宝宝风热咳嗽怎么办 小孩感冒后鼻炎怎么办 小孩感冒引起鼻炎怎么办 婴幼儿喉咙有痰怎么办 驾校的居住证明怎么办 去韩国留学护照怎么办 去韩国签证怎么办d4 出国留学拒签怎么办 高中毕业考不上大学怎么办 深圳怎么办客运营运证 深圳龙岗怎么办居住证 想去日本怎么办签证 孩子没有出生证怎么办通行证 去日本旅游怎么办签证 去美国旅游签证怎么办 我想去泰国怎么办签证 怎么办去泰国的签证 去韩国工作怎么办签证 去越南打工怎么办签证 越南到中国签证怎么办 去越南工作签证怎么办 马来西亚留学签证过期后怎么办 日本留学存款不够怎么办 没有工作单位怎么办签证 深户日本签证怎么办 土耳其跟团签证怎么办 公司取消交通车职工怎么办 出国健康证丢失怎么办 大三阳怎么办健康证 办不了健康证怎么办 办健康证不合格怎么办 美团健康证怎么办 便检取样很多怎么办 拉不出大便怎么办马上解决方法 无业人员怎么办健康证 健康证没身份证怎么办 身份证过期了怎么办护照