【问题标题】:How to check if the path exist in variable PATH using bash [duplicate]如何使用bash检查变量PATH中是否存在路径[重复]
【发布时间】:2014-02-05 01:11:00
【问题描述】:
PATH=\one:\one\two:\one\two\three:

如何使用 bash 检查 'one\two' 字符串?

【问题讨论】:

  • 用“:”作为分隔符拆分PATH的值,将拆分的部分存储在一个数组中,然后将每个数组元素与您想要的路径进行比较。现在你能不能试着写一些基本的代码。

标签: bash


【解决方案1】:
echo "$PATH" | tr ':' '\n' | grep '^\\one\\two$'

所做的只是用换行符替换: 分隔符,这允许grep 精确匹配每个路径,而不是包括子目录。

【讨论】:

    【解决方案2】:

    使用grep会更容易,如果你的grep支持-q,你可以抑制输出

    grep -q 'one\\two' <<< "$PATH" && echo found || echo not found
    

    否则

    grep 'one\\two' <<< "$PATH" > /dev/null && echo found || echo not found
    

    【讨论】:

      【解决方案3】:

      你要这个吗,

      echo ${PATH} | grep -e 'one\\two'
      

      ?

      注意:这也将匹配 one\two 中子目录的路径

      【讨论】:

      • 在这种情况下我最喜欢的方法 - echo ":$PATH:" | grep -e ':one\\two:' :-)
      猜你喜欢
      • 2021-10-20
      • 2018-08-13
      • 1970-01-01
      • 2011-12-19
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 2012-10-16
      相关资源
      最近更新 更多