Shell入门教程:命令替换 $() 和 ``
2015-03-09 16:10
351 查看
以下为转载:
————————————————————————————————————————————————————————————
所谓命令替换,是把命令执行后的标准输出放入变量中。这是一个十分有威力的功能。例如说,
想查看工作目录中所有的文件名,可执行ls命令,但如何把这些文件名存入变量中,供往后的程序代码再利用呢?
使用命令替换,轻轻松松就可以做到这点。在Script设计中,运用这项功能的比重相当高。
命令替换的语法有以下两种:
新式写法:变量名称=$(命令) #强烈建议采用新式的写法
旧式写法:变量名称=`命令`
注意,上式是使用一对“`”(在键盘的左上角)符号含括住命令,而不是用单引号!
Bash会把执行命令后产生的标准输出,赋值给指定的变量。在这个过程中,默认会自动删除换行字符。例如:
DIRS的变量值,即含有工作目录中所有文件的名称列表。
取得命令替换的值后,可把它放在for循环中,一一加以处理,如以下程序区块:
命令替换中,可以包含两个或两个以上的指令,如以下范例,可取得上层目录名称:
这里有两道指令:cd .. 和 pwd,中间用;隔开,命令替换的值是最后一道指令执行的结果。
在命令替换里,也可以再包含其他命令替换。例如:
————————————————————————————————————————————————————————————
所谓命令替换,是把命令执行后的标准输出放入变量中。这是一个十分有威力的功能。例如说,
想查看工作目录中所有的文件名,可执行ls命令,但如何把这些文件名存入变量中,供往后的程序代码再利用呢?
使用命令替换,轻轻松松就可以做到这点。在Script设计中,运用这项功能的比重相当高。
命令替换的语法有以下两种:
新式写法:变量名称=$(命令) #强烈建议采用新式的写法
旧式写法:变量名称=`命令`
注意,上式是使用一对“`”(在键盘的左上角)符号含括住命令,而不是用单引号!
Bash会把执行命令后产生的标准输出,赋值给指定的变量。在这个过程中,默认会自动删除换行字符。例如:
1 | DIRS=$( ls ) |
取得命令替换的值后,可把它放在for循环中,一一加以处理,如以下程序区块:
1 | DIRS=$( ls ) |
2 | for f in $DIRS |
3 | do |
4 | echo $f |
5 | done |
1 | PDIR=$( cd ..; pwd ) |
在命令替换里,也可以再包含其他命令替换。例如:
1 | r=$( du -s $( pwd )) # 取得工作目录磁盘用量的总和 |
相关文章推荐
- Shell入门教程:命令替换 $() 和 ``
- Shell入门教程:流程控制(1)命令的结束状态
- Linux--shell中的命令替换``与$()以及eval命令
- shell入门教程(3)-命令编辑
- SQLite 入门教程(一)基本控制台(终端)命令
- [Linux]:Bash shell字符串截取及命令替换
- shell 文本替换命令
- Shell学习:关于替换命令-tr-ROT13法则
- linux教程,Shell命令大全
- SQLite 入门教程(一)基本控制台(终端)命令
- Linux入门——目录结构、Shell和几个常用命令的简介
- 使用sip show peers 命令查看分机,坐席--入门教程系列001
- SQLite 入门教程(一)基本控制台(终端)命令
- Linux--shell教程-- 初级入门
- shell字符出替换的有用的几个命令
- SQLite 入门教程(一)基本控制台(终端)命令
- Shell命令中的扩展和替换
- VI中的替换命令和shell中的正则表达式
- Unix&Linux大学教程:13 使用shell:命令和定制
- shell最好入门教程之 shell13 问(个人认为)