125*_*748 5 macos bash shell symlink alias
我正在尝试在一组目录中创建一个目录的别名
for D in $(find * -maxdepth 0 -type d) ; do
ln -s location/to/directory/ $D/Test2 ;
done
Run Code Online (Sandbox Code Playgroud)
看起来链接是正确的(我可以在查找器窗口中看到它),但是当我双击它时,出现错误 The operation can't be completed because the original item for "Test2" can't be found.
为什么这不起作用?有没有办法从 bash 脚本创建一个“普通”的 mac 别名?我已经按照此处的建议打开了权限,但没有任何运气。
Dav*_* W. -1
你想做什么?
将链接视为命令cp
。也许这会有所帮助:
# Copies the 'svnadmin' command from /opt/svn/bin to /usr/local/bin
$ cp /opt/svn/bin/svnadmin /usr/local/bin
# Links the 'svnadmin' command from /opt/svn/bin to /usr/local/bin
$ ln -s /opt/svn/bin/svnadmin /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
请注意,ln
和cp
命令具有相同的文件顺序。
在你的命令中,你可以一遍又一遍地将任何location/to/directory/
内容链接到。$D/test2
另外,-maxdepth 0
不会位于目录的第一级。
我在安装新软件时使用ln
,二进制命令位于其他目录中。我没有将$PATH
所有这些额外目录包含在内,而是象征性地将它们链接到/usr/local/bin
:
$ cd /usr/share/apache-ant/bin
$ for file in *
> do
> [[ -f $file ]] || continue
> ln -s $PWD/$file /usr/local/bin/$file
> done
Run Code Online (Sandbox Code Playgroud)
请注意,该链接只是将第一个文件的整个引用复制到该链接。我想确保此链接在任何地方都有效,因此我$PWD
在其前面添加了前缀。这样,我的链接看起来像这样:
$ ls -l ant
lrwxr-xr-x 1 root wheel 29 Sep 3 2014 ant -> /usr/share/apache-ant/bin/ant
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2755 次 |
最近记录: |