zoukankan      html  css  js  c++  java
  • linux中$@,$*,$0,$$,$?参数的含义

    $# 是传给脚本的参数个数
    $0 是脚本本身的名字
    $1 是传递给该shell脚本的第一个参数
    $2 是传递给该shell脚本的第二个参数
    $@ 是传给脚本的所有参数的列表
    $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
    $$ 是脚本运行的当前进程ID号
    $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

    其中,,$@和$*都表示命令行所有参数(不包含$0),但是$*将命令行的所有参数看成一个整体,而$@则区分各个参数

    见下例:

    #!/bin/bash
    
    echo "number:$#"
    echo "name:$0"
    echo "first:$1"
    echo "second:$2"
    echo "list:$@"
    echo "param list:$*"
    echo "pid:$$"
    echo "exit status:$?"
    
    for i in "$@"
    do
        echo $i
    done
    
    for i in "$*"
    do
        echo $i
    done

    输出如下:

    number:6
    name:./param.sh
    first:1
    second:2
    list:1 2 3 4 5 6
    param list:1 2 3 4 5 6
    pid:31600
    exit status:0
    1
    2
    3
    4
    5
    6
    1 2 3 4 5 6
  • 相关阅读:
    Oracle 多表查询优化
    FZU 2150 Fire Game
    HDU 1058 Humble Numbers
    UVA 11624 Fire!
    POJ 1321 棋盘问题
    线性表的基本操作
    POJ 3414 Pots(广搜输出路径)
    HDU 1495 非常可乐
    POJ 1847 Tram
    POJ 3159 Candies(查分约束)
  • 原文地址:https://www.cnblogs.com/kumufengchun/p/11124880.html
Copyright © 2011-2022 走看看