我有一个关于验证用户输入有关用户在 bash 脚本中传递的参数数量的问题。
例如,如果我使用:
if [[ $# -eq 2 ]]
then...
这将检查是否从命令行传递了 2 个参数,如下所示:
./somescript.sh arg1 arg2
但是如何验证用户是否在询问时传递了 2 个参数?
例如:
echo "Type 2 names:"
read...
if [[ user passed more || less than 2 arguments]]
echo "incorrect number of names"
现在,如果我尝试使用
$# -eq 2
它不起作用。正确的做法是什么?
最佳答案
使用数组:
read -r -a array
if [[ "${#array[@]}" -eq 2 ]]; then ...
见输出:
declare -p array
关于bash - 验证从读取的 bash 中传递的参数数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60909805/