【发布时间】:2014-12-09 11:03:41
【问题描述】:
我想用 bash 编程做这样的事情
for file_x in file1, file2, file3, etc...
for file_y in file1, file2, file3, etc...
if file_y != file_x
do something
任何提示如何去做?
【问题讨论】:
-
您需要什么样的提示?您的代码几乎完全正确;您只需在
for行的末尾添加; dos,在if的末尾添加; then,并在something之前取出do。 -
...如果您在 shell 中运行
help for和help if以查看每个语法,并遵循该语法,那么嵌套循环或条件句实际上并没有什么特别之处;如果它们没有嵌套,它与您使用的语法 100% 完全相同。 -
file1, file2, etc的问题是一样的吗?将它们存储在一个数组中:files=( file1 file2 "file 3" ); for file_x in "${files[@]}"; do for file_y in "${files[@]}"; do ... -
...但是无论如何,所有这些都将在任何语言介绍中涵盖。当您遇到困难时,StackOverflow 是一个可以去的地方——当您还没有尝试任何参考资料时,它不是第一个求助的地方。我建议mywiki.wooledge.org/BashGuide
-
请参阅shellcheck.net 了解更多自动化kibitzing,在您第一次阅读一些文档以了解基于非猜测的语法概念之后。如果你有一些你认为应该按照文档和 shellcheck 工作的东西,请回到这里。