我的 ~/scripts 文件夹中有一些实用脚本。它们都是 bash 脚本,没什么特别的。一个名为sfind.sh
,另一个名为。在某个时候,我创建了它们的符号链接,并使它们可执行。所以我可以在提示符下以和svn-add-all.sh
运行。sfind.sh
$ sfind
svn-add-all.sh
$ addall
问题是,我记不住将符号链接放在哪里了。它们必须位于我的 $PATH 上,但对ls
$PATH 中的文件夹执行此操作却没有显示任何内容。
echo $PATH /usr/local/bin:/usr/local/drush:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
于是我尝试进行系统范围的查找。以下是我尝试的:
sudo find / -lname /Users/kyle/scripts/\* -exec ls --color=always {} \;
sudo find / -mount -lname /Users/kyle/scripts/\* -exec ls --color=always {} \;
sudo find / -name "sfind"
sudo find / -lname "sfind"
sudo find / -name "sfind*" -type fl
sudo find / -name "addall"
但我仍然一无所获。
使用locate
和which
也不起作用。显然这些链接一定可以从某个地方获得。
有什么方法可以找到这些符号链接的位置?
谢谢。
答案1
使用
type -a sfind
因为 type(与之相反)还会找到您可能在 .bashrc 或其他地方定义的函数和别名。