【发布时间】:2014-02-05 01:11:00
【问题描述】:
PATH=\one:\one\two:\one\two\three:
如何使用 bash 检查 'one\two' 字符串?
【问题讨论】:
-
用“:”作为分隔符拆分PATH的值,将拆分的部分存储在一个数组中,然后将每个数组元素与您想要的路径进行比较。现在你能不能试着写一些基本的代码。
标签: bash
PATH=\one:\one\two:\one\two\three:
如何使用 bash 检查 'one\two' 字符串?
【问题讨论】:
标签: bash
echo "$PATH" | tr ':' '\n' | grep '^\\one\\two$'
所做的只是用换行符替换: 分隔符,这允许grep 精确匹配每个路径,而不是包括子目录。
【讨论】:
使用grep会更容易,如果你的grep支持-q,你可以抑制输出
grep -q 'one\\two' <<< "$PATH" && echo found || echo not found
否则
grep 'one\\two' <<< "$PATH" > /dev/null && echo found || echo not found
【讨论】:
你要这个吗,
echo ${PATH} | grep -e 'one\\two'
?
注意:这也将匹配 one\two 中子目录的路径
【讨论】:
echo ":$PATH:" | grep -e ':one\\two:' :-)