shell 可以扩展~
到您的主目录。 $HOME
通常有相同的处理,但通常你想从可能不支持这种扩展的上下文中引用当前用户的主目录。
我有配置文件可以$HOME
工作,但~
不能,反之亦然。
我猜保险丝可以提供一些类似的东西,比如/var/myself
->$HOME
有了它,我可以在配置文件中放置值来指向诸如 /var/myself/backdrops/pornography/wtf/yarly.jpg
已经有这样的事情了吗?如果没有,是否有充分的理由不存在这样的事情?
我理解你的担忧,但答案是“不”,没有这样的事情。
通常的方法是向操作系统询问用户的主路径,或获取 $HOME 变量。
所有这些选项总是需要从应用程序中进行一些编码。许多应用程序,如 bash,提供“别名”~(open(2) 不翻译)。
当然,可以实现 vfs 或保险丝模块来做到这一点。可能有什么事情要做,我要问那个!
但真的有必要吗?您可以使用以下解决方法:
创建一个脚本来启动将 $HOME 链接到相对路径或已知位置的程序。
使用 pam_exec 将 $HOME 目录链接到已知位置http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/sag-pam_exec.html