number of tokens in bash variable

前端 未结 7 2179
挽巷
挽巷 2020-12-09 08:41

how can I know the number of tokens in a bash variable (whitespace-separated tokens) - or at least, wether it is one or there are more.

7条回答
  •  遥遥无期
    2020-12-09 08:54

    The $# expansion will tell you the number of elements in a variable / array. If you're working with a bash version greater than 2.05 or so you can:

    VAR='some string with words'
    VAR=( $VAR )
    echo ${#VAR[@]}
    

    This effectively splits the string into an array along whitespace (which is the default delimiter), and then counts the members of the array.

    EDIT:

    Of course, this recasts the variable as an array. If you don't want that, use a different variable name or recast the variable back into a string:

    VAR="${VAR[*]}"
    

提交回复
热议问题