gpt4 book ai didi

bash - 我的 shell 脚本中的逻辑或

转载 作者:行者123 更新时间:2023-11-29 09:15:52 25 4
gpt4 key购买 nike

我的脚本:

#!/bin/bash

for file in *.ats;
do
if [[ ("${file}" = THx) || ("${file}" = THy)]]
then cp $file /home/milenko/procmt
fi
done

目录中的文件

262_V01_C00_R000_TEx_BL_128H.ats
262_V01_C01_R000_TEy_BL_128H.ats
262_V01_C02_R000_THx_BL_128H.ats
262_V01_C03_R000_THy_BL_128H.ats

我想要的是复制包含THx 或THy 的文件,但文件没有被复制。为什么?

最佳答案

我认为你可以在这里完全避免循环:

cp *TH[xy]*.ats /home/milenko/procmt

无需循环遍历结果然后进行单独比较;单个 glob 将扩展为您想要的文件列表。

您原来的方法有几个问题:

  • 首先,您尝试测试完全匹配,因此条件永远不会为真。
  • 另外,注意空格:]]是复合命令[[中的关键字,所以它需要是一个单独的词(即被空格包围) .

关于bash - 我的 shell 脚本中的逻辑或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39274067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com