带有数值范围的ls在bash脚本中不起作用
发布时间:2020-12-14 00:05:46 所属栏目:Linux 来源:网络整理
导读:我有一个文件夹,文件名为file_1.ext … file_90.ext.我可以使用以下命令列出其中的一系列: $ls /home/rasoul/myfolder/file_{6..19}.ext 但是当我想在bash脚本中使用这个命令时,它不起作用.这是一个最小的例子: #!/bin/bashDIR=$1st=$2ed=$3FILES=`ls ${DI
我有一个文件夹,文件名为file_1.ext … file_90.ext.我可以使用以下命令列出其中的一系列:
$ls /home/rasoul/myfolder/file_{6..19}.ext 但是当我想在bash脚本中使用这个命令时,它不起作用.这是一个最小的例子: #!/bin/bash DIR=$1 st=$2 ed=$3 FILES=`ls ${DIR}/file_{$st..$ed}.ext` for f in $FILES; do echo $f done 运行它, $bash test_script.sh /home/rasoul/myfolder 6 19 输出以下错误消息: ls: cannot access /home/rasoul/myfolder/file_{6..19}.ext: No such file or directory 解决方法
支撑扩张发生在可变扩张之前.
(而且,不解析ls输出.).你可以说: for f in $(seq $st $ed); do echo "${DIR}/file_${f}.ext"; done (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |