添加自定义脚本的最有效方法/bin
?我知道我可以这样做:
符号链接(但即使经过研究,我也不明白如何撤消或清理它)
alias xxx="/path/to/script"
或者将我的 repo 文件夹添加到路径:
export $PATH=~/gitClones/myGit/Bug-Bounty-Enumation-w-ZSH/:$PATH
我想知道这方面的最佳做法是什么?
顺便说一句,这些都还不适合我:
export $PATH="/home/nate/gitClone/myGit/Bug-Bounty-Enumation-w-ZSH":$PATH
export: not valid in this context: /home/nate/go/bin/:/home/nate/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
答案1
对你的问题的一些警告
首先,alias
es 和添加到PATH
只会影响您配置的 shell。有一些中央系统文件会影响多个帐户,但即便如此,您也仅限于那种 shell,而且您实际上并没有向 中添加任何内容/bin
。
其次,正如 glenn jackman 指出的那样,export
由于$
等号左侧的 ,您的代码无法正常工作。$
表示替换,因此在 shell 中对其进行赋值是没有意义的,尽管其他语言(如 Perl)允许您这样做。
通过符号链接安装
因此,我们只剩下符号链接选项了。将其放入 中更为正确/usr/local/bin/
。我将针对名为 的脚本执行此操作~/Documents/stackexchange/example
。要创建符号链接,我将:
cd /usr/local/bin
sudo ln -s ~/Documents/stackexchange/example .
清理方法:
sudo rm /usr/local/bin/example
并验证我们是否已清理:
$ ls /usr/local/bin/example
ls: /usr/local/bin/example: No such file or directory
$ ls -l ~/Documents/stackexchange/example
-rwxr-xr-x 1 chicks staff 26 Aug 29 16:36 /Users/chicks/Documents/stackexchange/example
我添加了 $ 来表示提示,因此您可以看到,ls
虽然符号链接消失了,但原始文件仍然存在。
最佳实践
以这种方式使用符号链接是一种最佳实践,它与 Homebrew 安装东西的方式类似。
/opt/$PROJECT_NAME/bin
将代码放入并从那里进行符号链接也是最佳做法。
Root 应该拥有 中的文件/opt
。如果您将项目保存在主目录中,我会将文件保留为用户所有,以便您可以轻松地使用它们。