我正在写从一个非常具体的输入转换单元的bash脚本。单位转换与巴什
我开始做简单的读取和echo语句,并能得到它的读取声明整数和数字得出一个非常特殊的输入,但我无法得到它的if语句工作。
这是到目前为止,我简单的代码:
#!/bin/bash
declare -i n
in=inches
ft=feet
read number in "as" feet
if [ ]; then
echo "$n $in = $[n/12] $ft"
fi
我想现在要做的是创建if/else语句根据一些依赖于用户输入条件句流动。因此,我希望用户输入“24英寸为英尺”或“50英寸为英寸”之类的字符并执行相应的输出。现在,我真的不知道如何在if语句中输入“没有找到命令”这样的错误。
任何帮助,将不胜感激。谢谢。
只是一个提示,让你开始,使用模式匹配:'[[ “$输入” == *英寸x为*英尺*] '如果不引用它,[[...]]会将右侧视为模式(如文件模式)。第一个*会跳过数字,而额外的*字符将允许小的变化,如额外的空格。 (你可能也想查阅一些对于多个匹配更加紧凑的case语句。) – William 2013-03-07 19:01:21
你在Bash中尝试这个事实让我感到畏缩。 Bash中的字符串操作和解析功能有很多不足之处。我建议切换到不同的语言。我会亲自选择Perl。 – 2013-03-07 19:43:52
请注意,'bash'与整数一起工作......您的系统上可能还有一个'units'程序来完成这项工作。 – 2013-03-07 19:56:56