01)我试图在for循环中使用&&运算符,如脚本中所示。然而,这似乎不起作用。我无法看到在终端窗口中生成的错误,因为它在遇到错误时会立即关闭。有人能告诉我我做错了什么吗?
#!/bin/bash
cd ~/Documents/DTI/
#subj and subj1 contain folders which are located in the DTI directory
subj="ARN MT"
subj1="ARNpre1 ARNpre2"
for [[s in $subj] && [s1 in $subj1]]
02)正如您在我的“subj1”中看到的,前两个条目以字母arn开头,这意味着它们是arn的子目录(位于不同的位置,而不是arn主目录中)。所以我还想运行一个命令,如果subj1包含subj,那么它必须执行一个特定的命令。
if [[ ${s1} == *"${s}"* ]];then
这样做对吗?
我非常感谢你的帮助。
提前谢谢你。
最佳答案
我认为你的意思是:
for s in $subj; do
for s1 in $subj1; do
# do something
done
done
通过嵌套
for [[s in $subj] && [s1 in $subj1]]
循环,您将遍历for
和s
的所有可能组合,这听起来像是您在问题的第1部分中要做的。但是,我不能理解你在第二部分中所说的,所以我不能帮你。