是否可以使用 Mac 上的终端为 Mac 创建符号链接或任何当前登录 Mac 的用户的别名?
此符号链接/别名将作为“放置目的地”软件包中的文件夹。
有几个问题解释了如何创建绝对符号链接和相对符号链接,但这必须考虑到它是系统当前登录的任何用户。并且只能是符号链接或别名文件,而不是安装程序。这是更重要的事情。
这是我目前最好的尝试:
符号链接ln -s
和相对链接,效果很好,但缺少用户帐号通配符:
cd Desktop/any-folder/
ln -s "../symlinks" symlink-file
那个引用了 ../ (Desktop/) 中的一个目录“symlinks”,也位于 Desktop 上。如果关系结构完整,则有效。我知道我只需要删除“”标记即可使其成为绝对链接路径。
但是我尝试创建一个多功能的用户文件夹链接,但没有成功:
ln -s "~/Desktop/symlinks" symlink-file
如果可能的话,这就是我需要解决的问题。也欢迎使用其他库或方法。
答案1
符号链接指向实际的唯一位置,因此您不能拥有指向用户相关位置的符号链接。
请注意,“~”不是通配符,它更像是 shell 键入快捷方式 (*),shell 会立即用 $HOME 替换它。尝试
bash -c 'echo $1' foo ~/bar
您将会看到,您在 $1 中获得的是/home/yourid/bar
(或某个 OSX 等效项)而不是~/bar
。
使用 OSX 别名你可能会更幸运,但我对此表示怀疑,这种功能看起来像是一场即将发生的灾难。
(*) 看波浪号扩展在 Bash 参考手册中
答案2
“~” 仅在其“裸”时才扩展到您的主目录,即ls ~
列出您的主目录,但ls "~"
会尝试列出“~”文件/目录。在脚本中,您应该$HOME
改为使用:
ln -s "$HOME/Desktop/symlinks" symlink-file