如果我把一个variables作为一个文件列表来调用:
files = $(ls * .txt)
然后我想删除列表中的第一个项目(文件)
谢谢
克莱夫
你不应该分析ls
的输出。 请参阅http://mywiki.wooledge.org/ParsingLs 。
幸运的是,在你的情况下,你实际上并没有使用任何ls
的功能。 Bash已经处理了*.txt
部分,所以ls
是相当多余的。
你可以写这个:
# Set files to an array of the files with names ending in '*.txt': files=(*.txt) # Set files to an array consisting of ${files[1]}, ${files[2]}, ...: files=("${files[@]:1}")
(参见Bash参考手册 §3.5.3“外壳参数扩展” ;搜索${ parameter : offset }
。)