【发布时间】:2017-06-23 06:10:33
【问题描述】:
与此类似>>In bash, how can I check if a string begins with some value?,但不重复。
我有两个数组,对于第一个中的每个字符串,我想检查第二个中的字符串是否以第一个中的字符串开头。
array1=("test1","test2","test3");
array2=("test1 etc","test1 nanana","test2 zzz","test3 abracadabra");
for i in "${!array1[@]}"; do
for j in "${!array2[@]}"; do
if [[ "${array1[i]}" == "${array2[j]}*" ]]; then
echo "array1[$i] and arry2[$j] initial matches!";
fi;
done;
done
我在if里面尝试了很多条件,比如:
if [[ "${array1[i]}" == "${array2[j]*}" ]]
if [[ "${array1[i]}" == "${array2[j]}*" ]]
if [[ "${array1[i]}" = "${array2[j]*}" ]]
if [[ "${array1[i]}" = "${array2[j]}*" ]]
同样没有引号、大括号等,都没有成功。
【问题讨论】:
标签: arrays string bash variables comparison