$* in bash scripting

后端 未结 8 948
一整个雨季
一整个雨季 2021-01-17 16:33

Can anybody tell me what does $* mean in bash scripting?

I tried to search on google for it, but I found only about $0, $1 an

相关标签:
8条回答
  • 2021-01-17 17:12

    As an independent command it doesn't have any significance in bash scripting. But, as per usage in commands, it's used to indicate common operation on files / folders with some common traits.

    and with grep used to represent zero or more common traits in a command.

    0 讨论(0)
  • 2021-01-17 17:13

    It's a space separated string of all arguments. For example, if $1 is "hello" and $2 is "world", then $* is "hello world". (Unless $IFS is set; then it's an $IFS separated string.)

    0 讨论(0)
  • 2021-01-17 17:15

    See this page:

    http://tldp.org/LDP/abs/html/internalvariables.html#IFSEMPTY

    The behavior of $* and $@ when $IFS is empty depends + on which Bash or sh version being run. It is therefore inadvisable to depend on this "feature" in a script.

    0 讨论(0)
  • 2021-01-17 17:16

    If you see $ in prefix with anything , it means its a variable. The value of the variable is used.

    Example:

    count=100
    echo $count
    echo "Count Value = $count"
    

    Output of the above script:

    100
    Count Value = 100
    
    0 讨论(0)
  • 2021-01-17 17:18

    From the man page:

    * Expands to the positional parameters, starting from one. When the expansion occurs within double quotes, it expands to a single word with the value of each parameter separated by the first character of the IFS special variable. That is, "$*" is equivalent to "$1c$2c...", where c is the first character of the value of the IFS variable. If IFS is unset, the parameters are separated by spaces. If IFS is null, the parameters are joined without intervening separators.

    So it is equivalent to all the positional parameters, with slightly different semantics depending on whether or not it is in quotes.

    0 讨论(0)
  • 2021-01-17 17:18

    Its the list of arguments supplied on the command line to the script .$0 will be the script name.

    0 讨论(0)
提交回复
热议问题