计数参数

Edg*_*kas 1 unix shell awk

我写以下命令:

#!/bin/bash
echo "Enter values a and b (separate with space)"
read a b
echo $#
Run Code Online (Sandbox Code Playgroud)

我想计算用户输入了多少个参数。我试着算$#,但是输出是0

有什么问题?我做错了什么?

anu*_*ava 7

您可以使用数组读取整行并计算单词数:

read -p "Enter values (separate with space): " -ra arr
Run Code Online (Sandbox Code Playgroud)

Enter values (separate with space): abc foo bar baz 123
Run Code Online (Sandbox Code Playgroud)

然后打印字数:

echo "No of words: ${#arr[@]}"
Run Code Online (Sandbox Code Playgroud)

No of words: 5
Run Code Online (Sandbox Code Playgroud)