bash中 $@ $* 详细解释


  

  1. $@      $*        没有" "包围时,两者无任何区别,将每个参数看作单独参数,当参数中使用' '或" "时会将其拆开,作为单独参数,因此,此种用法,可能曲解参数传递的本意
    #!/bin/evn bash -u echo "print each parameter from \$*"
    
    for p in  $*
    do
        echo $p done
    
    echo "print each parameter from \$@"
    
    for p in $@ do
        echo $p done

     

     

     

     可以看到参数中的'd e'被拆开作为两个参数



  2. "$@"     "$*"         当其被" "包含,"$*" 将所有参数当作整体,"$@" 每个参数独立,并且保留参数的结构
    #!/bin/evn bash -u echo "print each parameter from \"\$*\""
    
    for p in  "$*"
    do
        echo $p done
    
    echo "print each parameter from \"\$@\""
    
    for p in "$@" do
        echo $p done

     

     

     

     


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM