我希望我的脚本定义一个空数组.如果预定义条件为真,则应添加数组值.为此,我所做的就是
declare -a FILES
file_count=0
if [ "$file_ext" != "$SUPPORTED_FILE_TYPE" ] ; then
echo "$file_ext is not supported for this task."
else
$FILES[$file_count] = $filename
file_count=$file_count+1
fi
执行此脚本时,我收到这样的错误
linux-softwares/launchers/join_files.sh: 51: [0]: not found
最佳答案
当数组中的设置数据无法使用$调用时:
declare -a FILES
file_count=0
if [ "$file_ext" != "$SUPPORTED_FILE_TYPE" ] ; then
echo "$file_ext is not supported for this task."
else
FILES[$file_count]=$filename
file_count=$file_count+1
fi
没有$的文件.
这对我有用:
#!/bin/bash
declare -a FILES
file_count=0
file_ext='jpg'
SUPPORTED_FILE_TYPE='jpg'
filename='test.jpg'
if [ "$file_ext" != "$SUPPORTED_FILE_TYPE" ] ; then
echo "$file_ext is not supported for this task."
else
FILES[$file_count]=$filename
file_count=$(($file_count+1))
fi
如你所见,对数学运算稍加修改$(()),但FILES分配是相同的……
正如经过大量测试所指出的那样,Ubuntu默认的shell似乎是破折号,这就引发了错误.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。