zoukankan      html  css  js  c++  java
  • Linux Shell 如何获取参数

    $# 是传给脚本的参数个数

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

    区别:$@, $*

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

    $*和$@详细区别请看此处

    复制代码
    #!/bin/bash
    
    echo "-----------------"
    for key in "$@"
    do
        echo '$@' $key
    done
    echo "-----------------------------"
    for key2 in $*
    do
        echo '$*' $key2
    done
    
    1、带引号执行及结果: 
    [root@localhost ~]# bash file.sh linux "python c"
    -----------------
    $@ linux
    $@ python c
    -----------------------------
    $* linux
    $* python
    $* c
    2、不带引号执行及结果: 
    [root@localhost ~]# bash file.sh linux python c
    -----------------
    $@ linux
    $@ python
    $@ c
    -----------------------------
    $* linux
    $* python
    $* c
    复制代码
  • 相关阅读:
    自定义组件要加@click方法
    绑定样式
    647. Palindromic Substrings
    215. Kth Largest Element in an Array
    448. Find All Numbers Disappeared in an Array
    287. Find the Duplicate Number
    283. Move Zeroes
    234. Palindrome Linked List
    202. Happy Number
    217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/mouseleo/p/11957617.html
Copyright © 2011-2022 走看看