Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos bash脚本中的符号链接不是';行不通_Macos_Bash_Unix_Symlink - Fatal编程技术网

Macos bash脚本中的符号链接不是';行不通

Macos bash脚本中的符号链接不是';行不通,macos,bash,unix,symlink,Macos,Bash,Unix,Symlink,我在Mac OS X上编写了一个bash脚本,它生成了一个符号链接,但是当我尝试打开我创建的符号链接时,它什么地方都没有出现,我得到了一个错误,它找不到原始的符号链接 OriginalPath="~/PathTo/bundle1.bundle" NewPath="/OtherPath/bundle1.bundle" sudo ln -s $OriginalPath $NewPath 我也试过: sudo ln -s ${OriginalPath} ${NewPath} 假设${Origina

我在Mac OS X上编写了一个bash脚本,它生成了一个符号链接,但是当我尝试打开我创建的符号链接时,它什么地方都没有出现,我得到了一个错误,它找不到原始的符号链接

OriginalPath="~/PathTo/bundle1.bundle"
NewPath="/OtherPath/bundle1.bundle"
sudo ln -s $OriginalPath $NewPath
我也试过:

sudo ln -s ${OriginalPath} ${NewPath}

假设
${OriginalPath}
已经存在(如果不存在,嘿,那就是你的问题):

我要看的第一件事是看瓷砖扩展是否是问题所在。将
OriginalPath
更改为完整路径名(例如,
/Users/jpc/PathTo/bundle1.bundle
)。如果这解决了问题,那么要么继续,要么了解如何在shell中打开tilde扩展,或者使用环境变量
${HOME}
而不是tilde扩展


无论如何,最好不要在shell脚本中使用tilde扩展,因为您可能无法确保所有运行脚本的用户都将其打开。

ln
将重定向设置为您所提供的重定向,因此它将根据链接的位置进行解释。实际上,我不能100%确定链接将如何处理
~
,但我不相信bash会在引号中对其进行扩展,而且由于它是bash扩展,而不是一般的文件系统扩展,我怀疑重定向将指向一个名为
~
的实际目录,该目录可能不存在。要么找出相对路径,要么将其展开为绝对路径