Shellscript:条件运算符:如果语句

时间:2017-07-20 14:24:11

标签: bash shell

如果条件

,这是我的shellcript
if [[ $RBFilePath =~ \.js$ || $RBFilePath =~ \.json$ && ${#key_array[0]} = "JAVASCRIPT" ]]; then
Blah blah
blah blah

fi

我想要的是,如果$RBFilePath.js.json 结束,数组的第一个元素:key_array 等于"JAVASCRIPT"然后执行if块。

但它没有执行。有人可以帮忙告诉我问题。?

1 个答案:

答案 0 :(得分:2)

该语句不正确,因为它检查数组第一个元素的长度

${#key_array[0]} = "JAVASCRIPT"

将其更改为

${key_array[0]} = "JAVASCRIPT"

检查数组中第一个元素的值。

e.g。

fooArray=('foo' 'bar')
printf "%s\n" "${#fooArray[0]}"
3
printf "%s\n" "${fooArray[0]}"
foo