前端之家收集整理的这篇文章主要介绍了
bash – 必须确定所有用户的主目录 – 代码脚本问题,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
403_0@
假设someuser有一个主目录/ home / someuser
NAME = SomeUser的
在bash中 – 我用什么表达式组合使用tilde(〜)和$NAME来返回用户的主目录?
HOMEDIRECTORY=~someuser
echo $HOMEDIRECTORY
/home/someuser
NAME=someuser
echo ~$NAME
~someuser
有什么建议么?
更安全:
eval HOMEDIRECTORY="$(printf "~%q" "$NAME")"
这里printf的%q选项引用并转义危险字符.
如果$NAME是乔,你会得到像/ home / joe这样的东西.对于root,你可能会得到/ root.对于“abc; rm something”,你会得到“〜abc; rm something”而不是删除某些内容.