• Linux的shell编程


    一、Shell 单引号、双引号和反引号用法详解

      单引号和双引号用于变量出现空格时,比如 name=zhang san ,这样执行就会出现问题,而必须用引号括起来,比如  name = "zhang san"

    不过,引号有单引号和双引号之分,二者的主要区别在于,被单引号括起来的字符都是普通字符,就算特殊字符也不再有特殊含义;

    而被双引号括起来的字符中,"$"、""和反引号是拥有特殊含义的,"$"代表引用变量的值,而反引号代表引用命令。

    [oracle@B2B-bigdata-sm shell]$ name=sc
    [oracle@B2B-bigdata-sm shell]$ echo "$name"
    sc
    [oracle@B2B-bigdata-sm shell]$ echo '$name'
    $name
    [oracle@B2B-bigdata-sm shell]$ echo `date`
    2019年 05月 08日 星期三 16:53:04 CST
    [oracle@B2B-bigdata-sm shell]$ echo '`date`'
    `date`
    [oracle@B2B-bigdata-sm shell]$ echo "`date`"
    2019年 05月 08日 星期三 16:53:27 CST

    [oracle@B2B-bigdata-sm shell]$ echo $(date)
    2019年 05月 08日 星期三 16:56:22 CST

      

      如果需要调用命令的输出,或把命令的输出赋予变量,则命令必须使用反引号包含,这条命令才会执行,反引号的作用和$(命令)是一样的,但是反引号非常容易和单引号

    搞混,所以推荐大家使用$(命令) 的方式引用命令的输出。 

    二、${ } 变量替换

      一般情况下,$var与${var} 是没有区别的,但是用${ } 会比较精确的界定变量名称的范围

    [oracle@B2B-bigdata-sm shell]$ A=Linux
    [oracle@B2B-bigdata-sm shell]$ echo $AB

    [oracle@B2B-bigdata-sm shell]$ echo ${A}B
    LinuxB

    三、Linux在shell中日期格式化(时间格式化)

    获取前一天的时间

    [oracle@B2B-bigdata-sm shell]$ yesterday=`date -d last-day +%Y-%m-%d`
    [oracle@B2B-bigdata-sm shell]$ echo $yesterday
    2019-05-07

    获取当前时间

    [oracle@B2B-bigdata-sm shell]$ curday=`date +%Y-%m-%d`
    [oracle@B2B-bigdata-sm shell]$ echo $curday
    2019-05-08

    $?  显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

    exit (0) 正常运行程序并退出程序

    exit (1) 非正常运行导致退出程序。

    exit 0 可以告知你的程序的使用者:你的程序是正常结束的。如果 exit 非0值,那么你的程序的使用者通常会认为你的程序产生了一个错误。

    在shell中调用完你的程序之后,用 echo  $?  命令就可以看到你的程序的exit值。在shell脚本中,通常会根据上一个命令的 $? 值来进行一些流程控制。

      

  • 相关阅读:
    A Bug's Life-----poj2492(关系并查集)
    食物链--poj1182(并查集含有关系)
    How Many Answers Are Wrong----hdu3038(并查集)
    Parity game---poj1733
    使用FFmpeg类库实现YUV视频序列编码为视频
    JNA调用DLL函数遇到的几个问题
    从一个MFC工程移植对话框类到另一个MFC工程
    X264 输出的统计值的含义(X264 Stats Output)
    毕业生必知二三事。给即将毕业的师弟师妹看看,很有用的~~~~
    网络视频传输的服务质量(QoS)
  • 原文地址:https://www.cnblogs.com/ssqq5200936/p/10833518.html
Copyright © 2020-2023  润新知