如何显示在if语句中找到的结果?

Ohitsspencer

因此,我要尝试的是寻找一组文件,然后让其回显已找到的文件。例如,这就是我所拥有的

    #!/bin/bash

    LaunchDaemon="LaunchDaemon.plist" 
    launchAgent="LaunchAgent"
    mobileLaunchDaemon="MobileDaemon.plist"
    mobileAgent="MobileAgent"

    if [ -f "$LaunchDaemon" ] || [ -f "$launchAgent" ] || [ -f "$mobileLaunchDaemon" ] || [ -f "$mobileAgent" ]
then
    echo "<result>Found</result>"
else
    echo "<result>Not Found</result>"
fi

因此,这将告诉我是否可以找到其中任何一个,但不会告诉我要找到哪个。我创建了另一个带有elif内部语句的语句,该语句的工作原理类似,但是如果找到了第一个语句,它将停在那里,并且不会告诉我其他语句是否也在那里。所以,我希望这是有道理的,我只是想找到一种方法来显示找到了哪些文件。

斯蒂芬·哈里斯(Stephen Harris)

您需要将if测试分为多个

if [ -f "$LaunchDaemon" ]
then
  echo $LaunchDaemon found
elif [ -f "$launchAgent" ]
then
  echo $launchAgent found
elif [ ... 
  ...
else
  echo Not found
fi

类型结构(自行填写空白。)。

如果要查找所有匹配项,只需将其作为多个测试进行即可,请设置一个变量以查看是否找到了任何内容

found=0
if [ -f "$LaunchDaemon" ]
then
  echo $LaunchDaemon found
  found=1
fi
if [ -f "$launchAgent" ]
then
  echo $launchAgent found
  found=1
fi
...
if [ $found == 0 ]
then
  echo Not found
fi

现在有时我们想要设置一个变量,以便我们知道找到了哪个变量。尝试查找匹配的程序或文件时,这很常见(例如,在过去,我们可能拥有/usr/lib/sendmail/usr/sbin/sendmail依赖于OS发行版,因此我们需要进行搜索以找到它)。

found=
for f in "$LaunchDaemon" "$launchAgent" "$mobileLaunchDaemon" "$mobileAgent"
do
  [[ -f "$f" ]] && found="$f"
done

现在,我们$found指向找到的条目,并可以对此进行测试。

if [ -n "$found" ]
then
  echo Found: $found
else
  echo Nothing found
fi

第二个循环还可以查找所有具有较小更改的版本:

found=
for f in "$LaunchDaemon" "$launchAgent" "$mobileLaunchDaemon" "$mobileAgent"
do
  [[ -f "$f" ]] && found="$found $f"
done

不利的一面是前面可能有一个前置空间,因此我们应该删除它:

found="${found# }"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用SQL在查询语句中找到最长匹配?

来自分类Dev

MySQL-如何从句中找到不匹配的结果

来自分类Dev

Jquery无法在if语句中找到“this”

来自分类Dev

如何仅在Case语句中显示汇总或标记的结果

来自分类Dev

如何显示未从 AngularJS 搜索中找到的结果?

来自分类Dev

MySQL-按“ IN”语句中找到的值的次数排序

来自分类Dev

遍历整数以在if语句中找到mod

来自分类Dev

如何在 If 语句中显示引号

来自分类Dev

如何在 if 语句中显示图标?

来自分类Dev

是否可以在具有多个条件的单个if / else语句中找到哪个条件失败了?

来自分类Dev

如何在带有@Var版本2之前和之后的文字的Case语句中显示@Var结果

来自分类Dev

如何从该语句中的SELECT语句中减去两个结果?

来自分类Dev

如何切换显示以在 if-else 语句中显示?

来自分类Dev

如何使用惯用bash比较if语句中函数的结果

来自分类Dev

如何替换snowlight.execute语句中的循环结果?

来自分类Dev

如何在mysql中的select语句中过滤结果

来自分类Dev

如何根据 select 语句中的值限制结果?

来自分类Dev

如何在elasticsearch中找到结果的子类型?

来自分类Dev

如何在表中找到所有可能的结果jQuery

来自分类Dev

如何用Lodash从数组中找到许多结果?

来自分类Dev

如何在jquery结果中找到jquery元素?

来自分类Dev

如何在结果中找到最大数量

来自分类Dev

如何关闭mysqli准备语句中的结果集,但保留该语句-而不缓冲整个结果?

来自分类Dev

如何显示“未找到结果”消息(PHP)

来自分类Dev

如何显示找到的搜索结果数

来自分类Dev

如何在angularjs中的条件语句中显示数据

来自分类Dev

如何在片段切换语句中显示活动

来自分类Dev

如何在cout语句中显示相对文件路径

来自分类Dev

如何在嵌套的switch语句中显示图像?

Related 相关文章

  1. 1

    如何使用SQL在查询语句中找到最长匹配?

  2. 2

    MySQL-如何从句中找到不匹配的结果

  3. 3

    Jquery无法在if语句中找到“this”

  4. 4

    如何仅在Case语句中显示汇总或标记的结果

  5. 5

    如何显示未从 AngularJS 搜索中找到的结果?

  6. 6

    MySQL-按“ IN”语句中找到的值的次数排序

  7. 7

    遍历整数以在if语句中找到mod

  8. 8

    如何在 If 语句中显示引号

  9. 9

    如何在 if 语句中显示图标?

  10. 10

    是否可以在具有多个条件的单个if / else语句中找到哪个条件失败了?

  11. 11

    如何在带有@Var版本2之前和之后的文字的Case语句中显示@Var结果

  12. 12

    如何从该语句中的SELECT语句中减去两个结果?

  13. 13

    如何切换显示以在 if-else 语句中显示?

  14. 14

    如何使用惯用bash比较if语句中函数的结果

  15. 15

    如何替换snowlight.execute语句中的循环结果?

  16. 16

    如何在mysql中的select语句中过滤结果

  17. 17

    如何根据 select 语句中的值限制结果?

  18. 18

    如何在elasticsearch中找到结果的子类型?

  19. 19

    如何在表中找到所有可能的结果jQuery

  20. 20

    如何用Lodash从数组中找到许多结果?

  21. 21

    如何在jquery结果中找到jquery元素?

  22. 22

    如何在结果中找到最大数量

  23. 23

    如何关闭mysqli准备语句中的结果集,但保留该语句-而不缓冲整个结果?

  24. 24

    如何显示“未找到结果”消息(PHP)

  25. 25

    如何显示找到的搜索结果数

  26. 26

    如何在angularjs中的条件语句中显示数据

  27. 27

    如何在片段切换语句中显示活动

  28. 28

    如何在cout语句中显示相对文件路径

  29. 29

    如何在嵌套的switch语句中显示图像?

热门标签

归档