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
这是进行此类操作的正确方法吗?
我非常感谢任何帮助。
提前谢谢。
答案 0 :(得分:2)
我认为for [[s in $subj] && [s1 in $subj1]]
你的意思是:
for s in $subj; do
for s1 in $subj1; do
# do something
done
done
通过嵌套for
循环,您将遍历s
和s1
的每个可能组合,这听起来就像您在问题的第1部分中尝试做的那样。
但是,我无法理解你在第2部分中所说的内容,所以我无法帮助你。