Linux 下 Shell 脚本几种基本函数调用区别
来源:互联网 发布:手机淘宝充话费 编辑:程序博客网 时间:2024/06/06 01:20
转载自: https://kknews.cc/zh-hk/news/el3vbr.html
----------
Shell 脚本几种基本函数调用区别
前言:因为工作需要,需要编写 shell script 。编写大量 shell script 时,累计了大量经验,也让自己开始迷糊几种函数输出调用的区别。后面和 LinuxCN 前辈们请教了一下这个问题,大致明白了区别。这里分享给大家,希望对大家收获。
`command `
$(command)
${command}
${command}
Part 1 : ` command `
这是 “命令标准输出作为函数标准输入” 操作方法之一,有很大的弊端以及不安全的地方。
缺点一:不支持嵌套
缺点二:容易与单引号混淆。(其实它是你键盘“!”左边那个键)
Part 1.5 ` command``与 $(command) 俩者区别
直接看几张图吧,看这图解释他们区别...
大家可以看到俩种表达方式,分别是代表命令直接执行和嵌套执行。
我们发现:直接执行**`和 $ 是相同的**,但嵌套执行 \` 就更胜一筹
附,其实这里有个小bug...( 橙色框框 ):即你怎么知道嵌套执行,计算机是真的镶嵌执行的呢?
所以我又截图一张...可以看到直接执行的情况下计算机确实是按照从左到右这样执行的。
所以得出证明,嵌套执行计算机是真的镶嵌执行,我们操作是确实有效的!
他们支持多层嵌套,对运维工作有不可言语的巨大作用。
Part 2 : $(command)
这是 “命令标准输出作为函数标准输入” 操作方法之二,使用这种方法的人也最多!
Part 3 : ${command}
那具体是什么意思呢?简而言之,将变量函数$进行替换以\${}输出
嗯...意思是到了但是还不正确。。但是我们现在知道俩点关于${}了
第一点:$ 是用来运行命令的,不是用来运行替换变量的。简而言之,\$就是用来执行命令,其他干不了
第二点:${} 是用来替换变量的。但是它不能给你执行替换变量,仅仅能帮\$信息读出来。
结论:$用来执行;\${}用来变量替换,但不能执行。
Part 4 : ${command}
原谅我一生放荡不羁,懒得写下去了。甩图~
结论:${command}定义了个方法名叫\$,这个方法执行了command命令
最后结文:
` command``与 $(command) 俩者无区别,都是执行命令。“命令标准输出作为函数标准输入”
\${command} 与 ${command} 俩者类似。前者用来读取变量替换内容,但不能执行。
- Linux 下 Shell 脚本几种基本函数调用区别
- Linux shell脚本中,如何定义函数及调用函数
- 破解Linux环境下Shell脚本加密的几种思路
- Linux下Shell脚本的基本执行方式
- linux下shell脚本
- Linux系统下高级语言调用shell脚本
- Linux下的matlab 以及shell脚本调用matlab
- C函数调用shell脚本
- Shell脚本的几种执行方式之区别
- QT下实现对linux 的Shell 调用 的几种方法 QProcess AND QThread
- QT下实现对Linux Shell调用的几种方法
- java 调用linux shell脚本
- Linux下编写脚本Shell和Python的区别
- 【Shell脚本】运行shell脚本文件的几种方法与区别
- Linux 下shell启动Java Main函数脚本
- Linux执行SHELL脚本的几种方法
- Shell常识--基本函数和简单命令rev--总结自《Linux Shell 脚本攻略》
- linux shell 脚本,创建函数
- 排序算法总结一
- Android 内核--Binder架构分析
- JavaSE 学习参考:数组遍历
- 【Spring】——AOP简述
- Linux下安装Lnmp环境之Nginx 负载均衡配置
- Linux 下 Shell 脚本几种基本函数调用区别
- 网络上一些有用的文章
- 【学习总结】其他
- 浏览器编码设置
- 开关电源的EMI滤波器
- 数学------为什么“负负得正”
- DNS & CDN & HTTPDNS 原理简析
- Linux Shell脚本(正则/Sed/AWK)
- Windows 网络命令