zoukankan      html  css  js  c++  java
  • Shell脚本中$0、$?、$!、$$、$*、$#、$@


    1. $$
    Shell本身的PID(ProcessID)


    2. $!
    Shell最后运行的后台Process的PID


    3. $?
    最后运行的命令的结束代码(返回值)


    4. $-
    使用Set命令设定的Flag一览


    5. $*
    所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。


    6. $@
    所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。


    7. $#
    添加到Shell的参数个数


    8. $0
    Shell本身的文件名


    9.$1~$n
    添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

    我们先写一个简单的脚本,执行以后再解释各个变量的意义

    mkdir test.sh

    脚本内容如下:

    复制代码
    #!/bin/bash
    
    echo "number:$#"
    echo "scname:$0"
    echo "first :$1"
    echo "second:$2"
    echo "argume:$@"
    复制代码

    保存退出

    wqa!

    赋予脚本执行权限并执行

    1.bash test.sh
    
    2.chmod 755 test.sh
        ./test.sh

    结果:

    number:2
    scname:./variable
    first: aa
    second:bb
    argume:aa bb

    结果分析


    通过显示结果可以看到:
    $# 是传给脚本的参数个数
    $0 是脚本本身的名字
    $1是传递给该shell脚本的第一个参数
    $2是传递给该shell脚本的第二个参数
    $@ 是传给脚本的所有参数的列表

  • 相关阅读:
    angularjs select
    DataInputStream和DataOutputStream
    Linux gcc编译器
    Linux 网络配置
    Linux 实用工具vi
    Linux 文件系统
    Linux Linux系统管理命令
    Linux Linux常用命令二
    Linux Linux常用命令一
    数据结构 排序(归并排序)
  • 原文地址:https://www.cnblogs.com/keystone/p/13260564.html
Copyright © 2011-2022 走看看