• $* 和 $@ 的区别


    $* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。
    但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。
    下面的例子可以清楚的看到 $* 和 $@ 的区别:

     1 #!/bin/bash
     2 echo "$*=" $*
     3 echo ""$*"=" "$*"
     4 
     5 echo "$@=" $@
     6 echo ""$@"=" "$@"
     7 
     8 echo "print each param from $*"
     9 for var in $*
    10 do
    11     echo "$var"
    12 done
    13 
    14 echo "print each param from $@"
    15 for var in $@
    16 do
    17     echo "$var"
    18 done
    19 
    20 echo "print each param from "$*""
    21 for var in "$*"
    22 do
    23     echo "$var"
    24 done
    25 
    26 echo "print each param from "$@""
    27 for var in "$@"
    28 do
    29     echo "$var"
    30 done

    执行 sh test "a" "b" "c" "d",看到下面的结果:

  • 相关阅读:
    UVa LA 2965
    UVa LA 3695
    UVa LA 3029 City Game 状态拆分,最大子矩阵O(n2) 难度:2
    Uva LA 3177
    Uva LA 3902
    Uva 11520
    UVa Live 3635
    python学习笔记-day05 字典
    python学习笔记-day04 元组
    python学习笔记 day04 列表增删改查
  • 原文地址:https://www.cnblogs.com/tswcypy/p/4432415.html
Copyright © 2020-2023  润新知