echo -n "##### WHICH YEAR OR YEARS? #######"
read year
如何检查用户输入的总数(年份)?例如,用户输入如下;2013 2014 2015。那么,输入的总数为 3。输入之间始终有一个空格。哪个代码给出了年份输入的总数?
答案1
-a
使用选项将输入保存在数组中read
,然后计算数组元素的数量:
$ read -a year
2015 2016 2010
$ echo "${#year[@]}"
3
$ read -a year
2010 2019
$ echo "${#year[@]}"
2
或者使用wc -w
,不需要数组:
$ read year
2013 2015 2017
$ wc -w <<<"$year"
3
或者您可以使用设置位置参数set
然后进行计数:
$ read year
2015 2016 2017 2018
$ set -- $year
$ echo "$#"
4
将其保存在变量中:
var="${#year[@]}" ## For array
var="$(wc -w <<<"$year")" ## For "wc -w"
var="$#" ## For "set"