我正在Mac OS X上编写一个bash脚本,生成一个symlink,但是当我尝试打开创建的symlink时,它不会出现任何地方,我得到一个错误,它找不到原始的。

OriginalPath="~/PathTo/bundle1.bundle"
NewPath="/OtherPath/bundle1.bundle"
sudo ln -s $OriginalPath $NewPath

我也试过:
sudo ln -s ${OriginalPath} ${NewPath}

最佳答案

假设${OriginalPath}已经存在(如果它不存在,嘿,那就是你的问题):
我要看的第一件事是看tilde扩展是否是问题所在。将OriginalPath更改为完整路径名(例如/Users/jpc/PathTo/bundle1.bundle)。如果这解决了问题,那么要么继续,要么找出如何在shell中启用tilde扩展,要么使用环境变量${HOME}而不是tilde扩展。
无论如何,最好不要在shell脚本中使用tilde扩展,因为您可能无法确保运行该脚本的所有用户都将启用它。

09-26 09:31