zoukankan      html  css  js  c++  java
  • shell命令参数的含义

    2021-06-06

    关键字:shell参数系统变量


    变量名 含义
    $@ 此命令下所携带的所有参数。以空格隔开
    $* 此命令下所携带的所有参数。以空格隔开
    $# 此命令下所携带参数的数量。
    $n n是0 ~ n 的数字,表示第几个参数。$0表示命令名本身。$1表示第一个参数,以此类推。
    $_ 保存之前执行的命令的最后一个参数
    $$ 获取当前进程的PID,即本shell命令的进程ID号。
    $! 在后台运行的最后一个进程的PID。
    $? 上一次命令的执行结果。0为执行成功,其它值表示执行失败。
       

    以下是测试这些系统变量的源码:

    #!/bin/sh
    
    echo "$@:$@"
    echo "$*:$*"
    echo "$#:$#"
    echo "$0:$0"
    echo "$1:$1"
    echo "$_:$_"
    echo "$$:$$"
    echo "$!:$!"
    ls jkkk 2> /dev/null
    echo "$?:$?"

    上述倒数第二行是人为构造一个命令执行出错的场景出来以测试 $? 变量的值。

    以下是执行结果:

    root@ubuntu:~# ./param.sh p1 p2
    $@:p1 p2
    $*:p1 p2
    $#:2
    $0:./param.sh
    $1:p1
    $_:./param.sh
    $$:6644
    $!:
    $?:2

    +++
  • 相关阅读:
    程序包管理
    磁盘篇
    centos7上常用软件安装
    这个端午
    字节码技术及动态代理
    浅析同步异步阻塞非阻塞
    String拾遗
    Java注解拾遗
    设计模式之总结篇
    设计模式之访问者模式
  • 原文地址:https://www.cnblogs.com/chorm590/p/14854727.html
Copyright © 2011-2022 走看看