Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在BASH中为特定输入编写错误消息?_Bash - Fatal编程技术网

如何在BASH中为特定输入编写错误消息?

如何在BASH中为特定输入编写错误消息?,bash,Bash,我对BASH还不熟悉,一般来说脚本编写得很好,正在编写BASH脚本,但不知道该怎么做 我目前有一个脚本正在工作,它通过特定的用户输入为后续软件编写一个文件 但是,软件工作需要特定的数字和短语,因此我想写一条错误消息,如果输入不正确,则会显示一条错误消息,而不是脚本失败并从头开始 ##写入inp.add文件## printf“\n${bold}正在写入inp.add文件\n${normal}” 阅读-p“处理器数量:”NPROC 读取-p“波函数文件(带.wfx):”wfx 读取-p“坐标文件(多

我对BASH还不熟悉,一般来说脚本编写得很好,正在编写BASH脚本,但不知道该怎么做

我目前有一个脚本正在工作,它通过特定的用户输入为后续软件编写一个文件

但是,软件工作需要特定的数字和短语,因此我想写一条错误消息,如果输入不正确,则会显示一条错误消息,而不是脚本失败并从头开始

##写入inp.add文件##
printf“\n${bold}正在写入inp.add文件\n${normal}”
阅读-p“处理器数量:”NPROC
读取-p“波函数文件(带.wfx):”wfx
读取-p“坐标文件(多维数据集或.txt):”坐标
回声“自动拾取AOM_材料占用”
读取-p“重叠(LO或LDO):”重叠
printf“\n运行高斯:${bold}$JOBNAME\n${normal}”

使用
,同时保持状态;做完成

while true ; do
    read -p "Input var: " var
    [[ -n "$var" ]] && break
    echo "Please enter a non-empty value"
done
echo "You entered $var"

将请求输入,直到输入为非空。

这不是我的意思。例如,在代码部分:read-p“Overlap(LO或LDO):”Overlap软件的唯一选项是LO和LDO,因此如果没有输入这两个选项中的一个,则需要一条错误消息并重复该操作question@ThomasBates你应该用那句话来编辑你的问题,这会让问题变得很不一样,而且可能不再是一个副本了。@ThomasBates四个副本在问题的顶部链接起来。仅供参考,你不需要[[1==1]]你可以使用[[1]]实际上你也不需要
[[
。惯用的无休止循环是
while true
甚至
while: