首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash脚本中数组中字符串的比较

Bash脚本中数组中字符串的比较
EN

Stack Overflow用户
提问于 2014-10-07 23:05:57
回答 1查看 961关注 0票数 0

好的,这是一个非常简单的小事情,但它已经到了点,我已经用尽2-3个小时,试图找出为什么这是无效的,但没有得到任何进展。

我正在尝试制作Bash/Shell脚本程序,在其中的一个点上,我想检查字符串数组的内容,以确定字符串是否为空。我的代码如下:

代码语言:javascript
复制
#Display any words the user corrected, and what he/she corrected it with (ignore blank corrections)
printf "\n\n" "MISPELLED  /  CORRECTIONS"
for (( i=0; i<${#words[*]}; i++)); do
if [!"${corrections[$i]}"=""]; then    //this is line 25
   printf "\n ${words[$i]}   ${corrections[$i]}"
fi
done

我不确定如果我用的方式!操作符是合法的,但是不管有没有它,我都会得到运行时错误:

./test:第25行:=:未找到命令

如果需要的话,我可以发布其余的代码,尽管我很有信心“更正”数组被正确地填充了字符串。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-07 23:21:44

在shell中,[是一个命令,所以在它之前和之后留下空格是很重要的。此外,如果要检查字符串是否为空,则可以使用-n

代码语言:javascript
复制
if [ -n "${corrections[$i]}" ]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26246706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档