• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux下Shell脚本中几种基本命令的替换区别

    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中mount/umount命令的基本用法及开机自动挂载方法
    • 详解基于Linux下正则表达式(基本正则和扩展正则命令使用实例)
    • 【Linux】linux常用基本命令总结(推荐)
    • linux下动态网站维护基本命令小结
    • linux中叹号命令(!)的使用小结
    上一篇:Linux常用命令全集(超全面)
    下一篇:linux ar 命令的使用说明和实例讲解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux下Shell脚本中几种基本命令的替换区别 Linux,下,Shell,脚本,中,几种,