博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell入门教程:命令替换 $() 和 ``
阅读量:5124 次
发布时间:2019-06-13

本文共 613 字,大约阅读时间需要 2 分钟。

所谓命令替换,是把命令执行后的标准输出放入变量中。这是一个十分有威力的功能。例如说,

想查看工作目录中所有的文件名,可执行ls命令,但如何把这些文件名存入变量中,供往后的程序代码再利用呢?

使用命令替换,轻轻松松就可以做到这点。在Script设计中,运用这项功能的比重相当高。

命令替换的语法有以下两种:

  • 新式写法:变量名称=$(命令)   #强烈建议采用新式的写法
  • 旧式写法:变量名称=`命令`

注意,上式是使用一对“`”(在键盘的左上角)符号含括住命令,而不是用单引号!

Bash会把执行命令后产生的标准输出,赋值给指定的变量。在这个过程中,默认会自动删除换行字符。例如:

DIRS=$(ls)

DIRS的变量值,即含有工作目录中所有文件的名称列表。

取得命令替换的值后,可把它放在for循环中,一一加以处理,如以下程序区块:

DIRS=$(ls)for f in $DIRSdo	echo $fdone

命令替换中,可以包含两个或两个以上的指令,如以下范例,可取得上层目录名称:

PDIR=$(cd ..; pwd)

这里有两道指令:cd .. 和 pwd,中间用;隔开,命令替换的值是最后一道指令执行的结果。

在命令替换里,也可以再包含其他命令替换。例如:

r=$(du -s $(pwd)) # 取得工作目录磁盘用量的总和

 

转载于:https://www.cnblogs.com/52php/p/5670204.html

你可能感兴趣的文章
Selenium 自动化测试基础知识
查看>>
讲座感悟
查看>>
67. Plus One
查看>>
靠谱的Pycharm安装详细教程
查看>>
001. Ansible简介
查看>>
asp.net core利用DI实现自定义用户系统,脱离ControllerBase.User
查看>>
Redis缓存连接池管理
查看>>
mac brew 安装php扩展报错:parent directory is world writable but not sticky
查看>>
大型网站架构演化发展历程
查看>>
四、COSMIC功能点实操
查看>>
Oracle 数据库中对记录进行分页处理
查看>>
数据库的应用详解三
查看>>
[翻译] 学习iOS开发的建议:如何从菜鸟到专家
查看>>
POJ 2376
查看>>
C++学习第二天(打卡)
查看>>
Java基础知识:Java实现Map集合二级联动3
查看>>
Teamwork(The sixth day of the team)
查看>>
(转)腾讯2011.10.15校园招聘会笔试题
查看>>
拉格朗日乘子法
查看>>
[deviceone开发]-do_RichLabel的简单示例
查看>>