bash – 检测用户的路径中是否有特定目录

前端之家收集整理的这篇文章主要介绍了bash – 检测用户的路径中是否有特定目录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用/ bin / bash,如何检测用户在$ PATH变量中是否有特定目录?

例如

if [ -p "$HOME/bin" ]; then
  echo "Your path is missing ~/bin,you might want to add it."
else
  echo "Your path is correctly set"
fi
真的很简单和天真:
echo "$PATH"|grep -q whatever && echo "found it"

哪里是你正在寻找什么。代替&&你可以把$?转换为变量或使用适当的if语句。

限制包括

>上面将匹配较大路径的子串(尝试在“bin”匹配,它可能会找到它,尽管“bin”不在你的路径,/ bin和/ usr / bin的事实)
>上面的不会自动展开像〜的快捷键

或者使用perl单行:

perl -e 'exit(!(grep(m{^/usr/bin$},split(":",$ENV{PATH}))) > 0)' && echo "found it"

仍然有一个限制,它不会做任何shell扩展,但是如果一个子字符串匹配,它不会失败。 (上面的匹配“/ usr / bin”,如果不清楚)。

原文链接:https://www.f2er.com/bash/389768.html

猜你在找的Bash相关文章