Linux下Shell脚本中几种基本命令的替换区别
2016-10-25 08:45
756 查看
Part 1 : ` command `
这是 “命令标准输出作为函数标准输入” 操作方法之一,有很大的弊端以及不安全的地方。
缺点一:比较陈旧。
缺点二:容易与单引号混淆。(其实它是你键盘“!”左边那个键)
Part 1.5 ` command``与 $(command)俩者区别
直接看几张图吧,看这图解释他们区别...
大家可以看到俩种表达方式,分别是代表命令直接执行和嵌套执行。
我们发现:执行
``和
$()是相同的。
附,其实这里有个小bug...( 橙色框框 ):即你怎么知道嵌套执行计算机是真的镶嵌执行的呢?
所以我又截图一张...可以看到直接执行的情况下计算机确实是按照从左到右这样执行的。
所以得出证明,嵌套执行计算机是真的镶嵌执行,我们操作是确实有效的!
他们支持多层嵌套,对运维工作有不可言语的巨大作用。
Part 2 : $(command)
这是 “命令标准输出作为函数标准输入” 操作方法之二,使用这种方法的人也最多!
这种方法的优点是:以
$(command)形式可以互相嵌套多个命令扩展。
Part 3 : ${command}
那具体是什么意思呢?简而言之,将变量函数
$()进行替换以
\${}输出
嗯...意思是到了但是还不正确。。但是我们现在知道俩点关于
${}了
第一点:
$()是用来运行命令的,不是用来运行替换变量的。简而言之,
\$()就是用来执行命令,其他干不了
第二点:
${}是用来替换变量的。但是它不能给你执行变量替换,仅仅能帮
\$()信息读出来。
第三点:
echo ${#name}可以统计替换变量长度单位。
结论:
$()用来执行;
\${}用来变量替换,但不能执行。
Part 4 : $(){command}
关于这点,这里就不细说了。
结论:
$(){command}定义了个方法名叫\$,这个方法执行了
command命令
最后结文:
` command``与
$(command)俩者无区别,都是执行命令。“命令标准输出作为函数标准输入”
\${command}与
$(){command}俩者类似。前者用来读取变量替换内容,但不能执行。
唔...加一点话。群里的朋友给我提供了一份RHCE的官方手册,上面对“命令标准输出作为函数标准输入”有一个简单的解释,即:命令替换。
命令替换允许命令的输出替换命令本身。当命令包含前导美元符号和括号
$(command)或者反引号
command时,就会发生命令替换。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
您可能感兴趣的文章:
相关文章推荐
- Linux下Shell脚本中几种基本命令的替换区别
- Linux 下Shell 脚本几种基本命令替换区别
- Linux系统的rm命令太危险,一不小心就会删除系统文件。写一个shell脚本来替换系统的rm命令,
- Linux:shell脚本之命令替换(eval,反引号和$())
- Linux执行shell脚本方式及区别&命令后台运行
- Linux执行shell脚本方式及区别&命令后台运行
- Linux执行shell脚本方式及区别&命令后台运行
- Linux执行shell脚本方式及区别&命令后台运行
- Linux命令行与shell脚本编程-part1-基本bash shell命令
- Linux执行shell脚本方式及区别&命令后台运行
- Linux 下 Shell 脚本几种基本函数调用区别
- Linux-Shell脚本编程-学习-2-Linux基本命令
- Linux-Shell脚本编程-学习-1-Linux基本命令
- Linux执行shell脚本方式及区别&命令后台运行
- linux的shell脚本中执行多个命令的方法
- Linux系统命令及Shell脚本学习笔记二:用户管理
- linux的test命令及相关shell脚本详解
- Linux下Shell编程——sed命令基本用法
- Linux基本命令练习:脚本实现硬盘分区功能
- java 执行linux命令或shell脚本方法