我正在学习 Linux 命令,我了解到您可以编写一个 shell 脚本并将其放入自定义目录(例如~/bin/
)并导出到,$PATH
或者您可以将其编写为 shell 函数并放入.bashrc
文件中。
如果我可能会问,什么是正确的情况或理由使用呢?哪个更推荐?
谢谢!
当你想要修改你的 shell 环境的东西时(例如你的 ENV 变量、你的提示符等等),最好让它成为一个保留在你的 .bashrc 中的函数。通常,我经常使用的功能之一是改变我使用/usr/local
或/opt
等的环境。更新$PATH
, $LD_PATH
,$PYTHON_PATH
订单。
当你制作一个利用 shell 脚本的完整程序时,最好在它自己的文件中,在 bin/ 目录中。通常,您希望自动化任务,使用 seds 和 awk 的复杂管道过滤输出(例如,计算 ssh 日志中出现的不同 IP 的数量?),这是一个很好的脚本用例。
函数作为小的、独立的块工作得更好。脚本更适用于更长、更复杂的任务(可能由更小的函数本身组成)。请记住,存储在其中的脚本~/bin
将在单独的进程中启动(除非您努力运行它source myScript
)。
如果它是一个完整的脚本(甚至是一个小脚本),我通常会将其放入~/bin
. 如果它在别名的顺序上,它将进入 bashrc。