我使用bash脚本在Mac OS X"Lion"上安装应用程序。首先,我将应用程序包复制到适当的位置,然后尝试将postgres安装到应用程序包中。postgres数据库的数据路径需要位于"~/Library/ApplicationSupport/myappfolder/data/"中。
现在的问题(似乎)是,由于操作系统说找不到路径,脚本出错了。将我得到的路径名备份到"~/Library/",但仍然失败。该脚本以管理员权限运行。
换句话说,从终端来看,这是有效的:
me: cd ~/Library
但这不是:
me: mydir="~/Library/"
me: cd $mydir
我知道10.7中的情况发生了变化,但我还没有在开发中心找到答案。
我不认为这是特定于Lion的。使用引号时,会导致~
字符按字面处理,而不是作为$HOME
的别名。因此,它正在寻找一个名称中带有波浪号的实际目录,但该目录并不存在。
请尝试使用mydir="$HOME/Library"
,看看这是否解决了问题。
这实际上在10.5中也不起作用,所以我不认为这是Lion特有的问题。不过,像这样的东西总会奏效:
eval "cd $mydir"