zoukankan      html  css  js  c++  java
  • 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



  • 相关阅读:
    使div浮动层显示在Select组件上面
    JS中,执行字符串的函数
    如何让Web自定义控件(WebCustomControl)能够被 验证控件 验证
    WIN 2003 中 IIS MIME 问题,导致FLV无法播放
    Response.ContentType的所有類型
    XPath语法
    如何加快页面加载速度
    网页页面实现自动刷新的3种代码
    div 内table 居中
    C#中调用Windows API的要点
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12351208.html
Copyright © 2011-2022 走看看