如下 bash 里,有一个随机的参数 inputString,然后我想写一堆条件,为了得到一个中文变量。 请问这种 if elif 的写法有其他的简略写法没有?否则感觉有点笨...
有一个${inputString}
if [ ${inputString} == "111" ]; then
cn="中文 1"
elif [ ${inputString} == "222" ]; then
cn="中文 2"
elif [ ${inputString} == "333" ]; then
cn="中文 3"
elif [ ${inputString} == "444" ]; then
cn="中文 4"
elif [ ${inputString} == "555" ]; then
cn="中文 5"
elif [ ${inputString} == "666" ]; then
cn="中文 6"
else
cn="错误的输入"
fi
echo ${cn}
1
GGGG430 2018-08-08 22:16:57 +08:00 1
do {
if [ ${inputString} == "111" ]; then cn="中文 1" break if [ ${inputString} == "222" ]; then cn="中文 2" break cn="错误的输入" } while(false) 语法可能有错误, 但方式就是用 do()while(false) + break 实现 |
2
zbinlin 2018-08-08 22:24:35 +08:00
|
3
mmtromsb456 2018-08-08 22:38:33 +08:00
使用 case in 结构呗
case ${inputString} in 111) cn="xxx" ;; 222) cn="xxx" ;; *) cn="错误的输入" ;; esac |
4
tt0411 2018-08-08 22:44:10 +08:00
bash 是支持 hash 表的, 具体用法可以搜索;
也可用 awk, 比如 awk '$1 == "'$input_string'" {print $2}' <<EOF 111 中文 1 222 中文 2 333 中文 3 EOF |
5
lihongjie0209 2018-08-09 12:01:27 +08:00
hash table 不知道 bash 有没有
|