• 【学习笔记】shell中位置参数及特殊参数


    $0, $1, $2,等等...
    位置参数,从命令行传递给脚本,或者是传递给函数.或者赋职给一个变量.
    $0表示当前执行的进程名,script 本身的名字,或者在正则表达式中表示整行输出

    $#
    命令行或者是位置参数的个数.
    $*
    所有的位置参数,被作为一个单词.
    注意:"$*"必须被""引用.
    $@
    与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,
    并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的单词.
    注意:"$@"必须被""引用.


    其他的特殊参数
    $-
    传递给脚本的falg(使用set 命令).
    注意:这起初是ksh 的特征,后来被引进到Bash 中,但不幸的是,在Bash 中它看上去也不
    能可靠的工作.使用它的一个可能的方法就是让这个脚本进行自我测试(查看是否是交
    互的).
    $!
    在后台运行的最后的工作的PID(进程ID).
    $_
    保存之前执行的命令的最后一个参数.
    $?
    命令,函数或者脚本本身的退出状态
    用于检查上一个命令,函数或者脚本执行是否正确。(在Linux中,命令退出状态为0表示该命令正确执行,任何非0值表示命令出错。)
    $$
    脚本自身的进程ID.这个变量经常用来构造一个"unique"的临时文件名.
    这通常比调用mktemp 来得简单.
    注意事项:
    [1] 当前运行的脚本的PID 为$$.
    [2] "argument"和"parameter"这两个单词经常不加区分的使用.在这整本书中,这两个
    单词的意思完全相同.(在翻译的时候就未加区分,统统翻译成参数)

    退出和返回
    退出状态(exit status)
    函数返回一个被称为退出状态的值. 退出状态可以由return 来指定statement, 否则函数的
    退出状态是函数最后一个执行命令的退出状态(0 表示成功,非0 表示出错代码). 退出状态
    (exit status)可以在脚本中由$? 引用. 这个机制使脚本函数也可以像C 函数一样有一个"
    返回值".
    return
    终止一个函数.return 命令[1]可选地带一个整数参数,这个整数作为函数的"返回值"返回
    给调用此函数的脚本,并且这个值也被赋给变量$?.

    while true可以写为while :

  • 相关阅读:
    WP7 操作XML文件
    C#和C/C++指针实现swap交换
    感受
    我学到了什么 我思考了什么.
    hdu 2768 Cat vs. Dog (最大独立)
    hdu 1960 Taxi Cab Scheme (最小覆盖)
    hdu 1528 Card Game Cheater (最小覆盖)
    hdu 4160 Dolls (最大独立)
    hdu 2458 Kindergarten (最大独立集)
    hdu 2119 Matrix (最小覆盖)
  • 原文地址:https://www.cnblogs.com/zhiqli/p/3195210.html
Copyright © 2020-2023  润新知