zoukankan      html  css  js  c++  java
  • Shell中特殊变量

    $0
    Shell本身的文件名。

    $n
    传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。

    $#
    传递给脚本或函数的参数个数。

    $*
    所有参数列表。

    $@
    所有参数列表。$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号("")包含时,都以"$1" "2"…"n" 的形式输出所有参数;当它们被双引号("")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … n"的形式输出所有参数;"@" 会将各个参数分开,以"$1" "2"…"n" 的形式输出所有参数。

    $?
    最后运行的命令的结束代码(返回值)即执行上一个指令的返回值 (显示最后命令的退出状态,0表示没有错误,其他任何值表明有错误)。

    $$
    当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。

    $!
    Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号)。

    $-
    显示shell使用的当前选项,与set命令功能相同。

    !!
    执行上一条命令。

    !number
    执行~/.bash_history当中的第number条命令。

    !command
    由最近的命令向前搜寻首个命令串开头为command的命令,并执行。

    &>
    将STDERR和STDOUT的输出重定向到同一个输出文件。

    &-
    如要关闭文件描述符,可以将它重定向到特殊符号&-。

    .
    点操作符,点操作符是source命令的别名,它会在shell上下文中执行点操作符指定的脚本,而不是创建一个新的shell。

    IFS
    IFS 是一种set变量,它定义了shell用作字段分隔符的一系列字符,默认是space,tab,newline来拆解读入的变量,然后对特殊字符进行处理,最后重新组合赋值给该变量。

    ' '与" "的区别
    单引号内的内容原样输出,而在双引号中,如果内容中有命令,变量等,会先把变量,命令解析出结果,然后在输出最终内容来。

  • 相关阅读:
    centos编辑文件显示行号
    16.1
    [整理]正睿划水记
    [题解]UVA1519 Dictionary Size
    [题解]CF323C Two permutations
    [题解]CF1527D MEX Tree
    P2216 [HAOI2007]理想的正方形
    CF858D Polycarp's phone book
    ABC214F substrings
    每天一点小知识-20210810
  • 原文地址:https://www.cnblogs.com/xiaoleimagic/p/13864177.html
Copyright © 2011-2022 走看看