如何在bash中检查没有输入?

qli*_*liq 8 bash

我正在寻找一个条件,以避免用户将输入值留空.有什么建议?

谢谢

Man*_*y D 8

没有输入(甚至我相信的空格)作为空字符串输入,因此在输入var为空时检查输入:

input=
while [[ $input = "" ]]; do
   read input
done
Run Code Online (Sandbox Code Playgroud)

  • 这有一个(次要)问题,即不处理^ D作为输入结束,所以如果它从`/ dev/null`读取它将永远循环.如果你把它写成`while read input && [-z"$ input"],那就可以解决这个问题.做:; done`. (2认同)

小智 5

unset input
while [ -z ${input} ]; do
     read input
done
Run Code Online (Sandbox Code Playgroud)