Loops 如果没有给出参数,如何产生错误?

Loops 如果没有给出参数,如何产生错误?,loops,if-statement,Loops,If Statement,目标是向用户提示一个问题(需要输入字母数字),如果用户没有输入任何内容,它应该会产生一个错误,声明“--->Entry is required”,然后循环并再次提示,但我无法理解…我从我制作的另一个程序中获取了这个工作块,关于如何格式化它以向空输入提供错误的提示 while [ true ] do echo -n "Enter course code: " read fact1 chk_num=$( echo $fact1 | grep

目标是向用户提示一个问题(需要输入字母数字),如果用户没有输入任何内容,它应该会产生一个错误,声明“--->Entry is required”,然后循环并再次提示,但我无法理解…我从我制作的另一个程序中获取了这个工作块,关于如何格式化它以向空输入提供错误的提示

    while [ true ]
    do

       echo -n "Enter course code: "
       read fact1
       chk_num=$( echo $fact1 | grep '^[0-9][0-9]*$' | wc -l )
       if [ "$chk_num" -eq 0 ]
          then echo
               echo "----> Entry is required"
               echo
          else break
      fi

    done

我不太明白:到底是什么问题?我测试了你的代码片段,似乎它符合你的要求。所以,一定有什么我不明白的…所以我粘贴的代码在我尝试输入一个数字时有效,如果我不输入,就会给我一个错误。我现在要做的是调整代码,所以如果我不给它文本,它会产生一个错误,它会提示你说“输入课程代码:”如果我不输入任何文本,点击回车键,我需要它返回一个错误,但我不知道怎么做。