为什么我的bash脚本没有打印出echo语句?

时间:2018-03-26 16:18:44

标签: bash

我有一个读取宽度并检查任何字符的函数,它不会打印出我想要的错误

echo "Enter width"
read width

v='^[0-9]+$'

function width() {
if ! [[ $width =~ $v ]] ; then
   echo "ERROR - INPUT A NUMBER" >&2; return width
fi
}

1 个答案:

答案 0 :(得分:1)

你不能做你想做的事。如果要在满足某些条件之前继续读取输入,则应执行以下操作:

v='^[0-9]+$' 

read -p "Enter width: " width
while [[ ! $width =~ $v ]]
do
  read -p "Enter width: " width
done