下面是我的代码的一小部分摘录,以便您更好地了解我的问题。当目录中的每个文件进入循环时,将从文件名中提取 em 值,并将其与声明的 em 值进行比较,以执行下一个操作。执行我的代码后,我注意到我的第一个条件有效,但是当它从 Em1 目录中出来时,第二个条件没有得到更多验证,因为我打开了 Em2 目录,它是空的,同时我有具有 em2 值的文件。所以我想知道出了什么问题
em1="first"
em2="second"
for file in *;
do
em=$( echo "$file" | awk -F'[.-]' '{print $1}' )
if [[ "$em" == "$em1" ]];
then
cd Em1 #directory to execute action
month_range #function for action
cd_ret #function to come back to current directory
elif [[ "$em" == "$em2" ]];
then
cd Em2
month_range
cd_ret
else
echo "Nothing to do"
fi
done
Run Code Online (Sandbox Code Playgroud)