How do i use quoting with $* and $@ in bash?



  • These two parameters work differently.

    If the Initial field separator is a comma, you can see the difference. See the following script to explain.

    IFS=,
    echo "$*"
    
    myargs()
    {
       echo "$# args."
    }
    
    myargs apples pears bananas
    myargs "$*"
    myargs "$@"
    

    Run the script

    $ ./bash.arglist apple pears bananas
    apple,pears,bananas
    3 args.
    1 args.
    3 args.
    

    $# - number of args is 3
    $* - seen as apple,pears,bananas
    $@ - seen as apples pears bananas


Log in to reply
 

© Lightnetics 2024