加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – 如何在shell脚本中操作数组

发布时间:2021-01-21 03:09:02 所属栏目:Linux 来源:网络整理
导读:我希望我的脚本定义一个空数组.如果预定义条件为真,则应添加数组值.为此,我所做的就是 declare -a FILESfile_count=0if [ "$file_ext" != "$SUPPORTED_FILE_TYPE" ] ; then echo "$file_ext is not supported for this task."else $FILES[$file_count] = $fi

我希望我的脚本定义一个空数组.如果预定义条件为真,则应添加数组值.为此,我所做的就是

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似乎是破折号,这就引发了错误.

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读