我创建了一个简单的Bash脚本 ls -l
。
在Mavericks和旧版本的OSX中,我只是为脚本创建了一个符号链接并将其放入 /usr/bin
文件夹( ln -s ll.sh /usr/bin/ll
然后我可以使用执行脚本 ll
从任何文件夹。
自升级到El Capitan后,我无法加载此脚本。我已禁用SIP,以便我能够创建符号链接,并且脚本绝对可执行。那个地点 ( /usr/bin
)肯定在$ PATH中,我甚至尝试在$ PATH中添加脚本路径。
似乎没有什么工作,我得到的只是 -bash: ll: command not found
。
每次更新$ PATH后我都重新启动了终端,我试过了 source ~/.bash_profile
但两者都没有任何区别。
编辑: 我还尝试将脚本的当前目录添加到$ PATH,这也是同样的错误。最后,我将所有脚本别名化,以便它们运行。
ll.sh
-script_正在做的是 ls -l
那你应该用一个 别号 代替。组 alias ll='ls -l'
在里面 ~/.profile
要么 ~/.bash_profile
,无论你使用哪个。看到 6.6别名 在里面 BASH参考手册 。
ls -l
例如,我有很多脚本可以做不同的事情。我可以为他们创建一个别名,但我想知道以前的实现是否仍然可行。如果我运行.sh脚本它运行正常。
ll.sh
只需要 ll
。我有一个单独的目录,我将所有脚本放入并将该目录路径名添加到 $PATH
。我在该目录中编写了150个脚本,但没有一个具有扩展名,但它们都是可执行文件。有些甚至有 符号链接 (不是Finder Alaises,不要混淆 bash别名 )为方便起见,在终端输入较短的名称。这样,我的所有脚本都位于更集中的位置,不会混入系统可执行文件。
ls -l /usr/bin/ll
?