Linux中Shell的命令替换用法笔记

640?wx_fmt=png

命令替换主要是指将命令的标准输出值赋值给某个变量。命令替换属于Shell编程中非常重要的功能,需要熟悉掌握。

命令替换的方式

1、反引号:`命令`

2、$():$(命令)

用法说明:date1=`date` #将date命令值给date1变量

date2=$(date) #将date命令值给date2变量

echo ${date1}

echo ${date2}

注意:如果引用的命令输出的内容包含多行,此时如果不通过引用的方式输出变量,则输出的内容将会删除换行符,文件名之间会使用系统默认的空

来填充,即输出内容只占一行。

例如:ls=`ls -l`

#不引用变量值的输出

echo $ls

输出:

total 20 drwxr-xr-x 4 root root 4096 Apr 6 19:08 DotNetCore drwxr-xr-x 4 root root 4096 Apr 18 19:49 hgm -rw-r--r-- 1 root root 6140 Nov 12 2015 mysql-community-release-el7-5.noarch.rpm drwxr-xr-x 2 root root 4096 Feb 22 14:11 tools

#不引用变量值的输出

echo "$ls"

输出:

total 20

drwxr-xr-x 4 root root 4096 Apr  6 19:08 DotNetCore

drwxr-xr-x 4 root root 4096 Apr 18 19:49 hgm

-rw-r--r-- 1 root root 6140 Nov 12  2015 mysql-community-release-el7-5.noarch.rpm

说明:以上反引号的命令替换可以用$()进行替换,由于考虑到反引号和单引号比较像,很容易出错造成代码难以维护,建议使用${}相对比较清晰。

注意:如果是命令嵌套的话就只能使用$()了,反引号不支持。$()仅在Bash Shell中有效,反引号可以在多种UNIX Shell中可以使用。

比如:file_lines=$(wc -l $(ls | sed -n '1p')) #计算ls命令列出的第一个文件的行数,采用了两层嵌套

输出:162 20190320132917.sql

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

采样次数不同平均值不一样_网络推广采取的方式不同,效果也不一样

网络推广是基于互联网而进行,针对目标客户群体,加之以有效的网络链接形式使其形成迅速大的购买力的一种营销模式,是目前很多企业已经认识到的,但是在推广过程之中往往会出现不同的状况,比如说模式是完全不一样的。 …

rocketmq 同步刷盘和异步刷盘以及主从复制之同步复制和异步复制你理解了吗

同步刷盘、异步刷盘 RocketMQ的消息是存储到磁盘上的,这样既能保证断电后恢复,又可以让存储的消息量超出内存的限制。 RocketMQ为了提高性能,会尽可能地保证磁盘的顺序写。消息在通过Producer写入RocketMQ的时候,有两种 写磁盘方…

七层网络模型、TCP/IP四层模型、网络数据包、交换机路由器区别

七层网络模型(简称OSI模型): OSI 模型(Open System Interconnection model)是一个由国际标准化组织提出的概念模型,试图供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架。它将计算机网络体系结构划分为七层,每层都可以提供抽…

Linux中Shell的算数运算符和位运算符用法笔记

1、算数运算符 算数运算符主要是加、减、乘、除、余、幂等常见的算术运算,以及加等、减等、乘等、除等、余等复合算术运算。 注意:Shell只支持整数运算,小数部分会舍去。一般情况下算术运行需要个let命令一起来使用。注意除法运算&#xff0c…

ostu阈值分割python实现_PIL大津法阈值分割Python代码

[Python]代码#codingutf8"""大津法阈值分割:A Threshold Selection Method from Gray-Level Histograms需要PIL库"""import Imageimport sysdef sigma(im,i,debug False):"""阈值为i时,图像im中两组的方差"""c0_p…

php执行一条insert插入两条数据其中一条乱码

显然这就是编码问题,但是问题从哪来的呢, 我把文件编码以及代码的编码都设置成utf-8了,为什么还有这个问题于是我就开始写测试脚本 第一条 mysql_query(insert into table value(1,1,"思考思考123")) 测试没有问题 第二条 $name$_G…

TCP三次握手、四次挥手、socket,tcp,http三者之间的区别和原理

接着上一篇文章叙述: TCP/IP连接(在互联网的通信中,永远是客户端主动连接到服务端): 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使…

小程序接入h5页面_小程序-实现怎么跳转打开 H5 网页链接(或跳转至公众号文章)...

背景有时候,因为业务需求,在小程序当中,需要跳转到 h5 网页,或跳转到公众号,形成流量的闭环,那在小程序当中怎么实现呢?实例效果前提条件该小程序与需要跳转至的公众号(订阅号/服务号)进行了绑定关联使用小程序开放能力web-view实现跳转(承载网页的容器。会自动铺满整个小程序…

NSUserDefaults的用法

NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的,个人觉得使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息咯。 因为如果使用自己建立的plist文件什…

http、https、密码学基础、GET和POST区别

http协议相关: http协议的特性: http协议是建立在TCP/IP协议之上应用层协议,默认端口为80或者8080。http协议的的特点是无状态,无连接(并不是真的没有连接,而是在请求数据的时候有连接,在数据回来的时候就…

apache 配置文件内使用 8080 端口_【SpringBoot 框架】- SpringBoot 配置文件

一、SpringBoot配置文件类型SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话 ,就可以自己编写配置文件进行相应配置,起步依赖spring-boot-starter-parent 中,有配置文件的引入…

Linux中while循环的用法笔记

Shell中可以采用while循环来实现需要进行循环的操作。 语法结构如下: while exp do command done 执行过程:while将测试exp的返回值,如果返回值为true则执行循环体的命令,返回值为false则不执行循环。循环完成后会进入下一次循环之…

IOS9.0 导航栏状态栏

状态栏高度20px 竖屏是导航栏高度44px 横屏时导航栏高度32px 获取当前屏幕状态:UIApplication.sharedApplication().statusBarOrientation转载于:https://www.cnblogs.com/iOSboyYang/p/5328886.html

libcurl库的安装和使用

libcurl简介: libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。li…

android 微信缩小通话界面_安卓如何做出微信那样的界面仿微信“我”的界面2/5...

本系列目标通过安卓编程仿写微信“我”的界面,让大家也能做出类似微信界面.效果图如下:本文目标做出支付部分(其他部分在后续文章中逐步分享).效果图如下:实现方案通过截图工具或者下载一张微信支付照片,放到工程的src/main/res/drawable目录下,命名为pay.png;同样获取一张向右…

Shell脚本中函数的定义和调用笔记

Shell脚本函数的作用主要是把一些可以通用的功能封装起来、避免脚本中出现大量重复的脚本代码,同时可以大大增强脚本的可读性、和可维护性。Shell函数定义的语法格式:function FUNCTION_NAME(){command1command2command3}也可以省略function 关键字FUNCT…