Bash Linux检查路径是否存在
我想制作一个shell脚本,检查是否添加了环境变量,否则Bash Linux检查路径是否存在,bash,shell,Bash,Shell,我想制作一个shell脚本,检查是否添加了环境变量,否则 if[!echo$PATH | grep”/我想添加什么“;然后#如果没有环境变量 导出路径=$PATH:\u我希望\u添加的内容 fi 如果可能,我想使用/dev/null放弃输出。 我该怎么办?这是一个在archlinux内部使用的函数/etc/profile。将路径添加到path时,它可以完美地工作 # Append our default paths appendpath () { case ":$PATH:&
if[!echo$PATH | grep”/我想添加什么“;然后#如果没有环境变量
导出路径=$PATH:\u我希望\u添加的内容
fi
如果可能,我想使用/dev/null放弃输出。我该怎么办?这是一个在archlinux内部使用的函数
/etc/profile
。将路径添加到path
时,它可以完美地工作
# Append our default paths
appendpath () {
case ":$PATH:" in
*:"$1":*)
;;
*)
PATH="${PATH:+$PATH:}$1"
esac
}
# usage example:
appendpath '/what_i_want_to_add'
-匹配案例:“$PATH:”在
,但使用尾随和前导冒号,以便我们可以:$PATH
-将*:“$1”:*)
与任何内容匹配,后跟冒号、参数、冒号和任何内容。因为我们使用了:$PATH:
它将扩展到:$PATH:“
,可以与带有全局表达式的:/path1:/PATH/2:/PATH/3:
匹配。*:/path1:
- 如果比赛成功,什么也不做
-其他*)
- 将参数添加到路径中
-shell参数扩展。如果${PATH:+$PATH:}
为空或NULL,则展开为空。如果路径不是空的,则展开到PATH
,后跟冒号。这可以处理一个空的$path
参数,这样就不会添加前导的空PATH=
:
我应该怎么做?
阅读有关shell编程语言中的测试命令。阅读shell编程语言中的if
语句。阅读grep
及其使用方法,了解-q
选项。研究分词,以及为什么需要引用变量。使用shellcheck.net检查组件mistakes@AMATEUR_TOSS:请以可理解的方式提问:问题标题是关于要存在的环境变量,问题文本是关于要添加的环境变量。此外,您还询问如何放弃输出。这是另一个问题;请不要在一个问题中问两件不相关的事情。最后,您发布的代码与环境变量的存在无关,而与它们的内容有关。