自定义环境:Shell 变量与子进程的深入解析
在使用 Shell 进行操作时,我们经常会遇到各种需要自定义环境的场景。这涉及到命令的调用、路径的设置、变量的使用等多个方面。下面将详细介绍这些内容。
命令路径与调用
当我们在 Shell 中输入一个命令时,Shell 会根据 PATH 环境变量来查找该命令。如果我们在某个目录下创建了自己版本的命令,比如 more 命令,并且 PATH 已经设置好,那么要使用自己的版本,就需要输入完整的路径名,例如 /home/you/bin/more 或者 ~/bin/more 。
重置路径有两种方式,一种比较稳妥,另一种则较为鲁莽。鲁莽的方式是将自己的目录放在其他目录之前,如下所示:
PATH="/home/you/bin:"$PATH
这种方式不安全,一方面是因为我们要确保自己版本的命令能正常工作,另一方面更重要的是涉及系统安全问题。如果这样设置 PATH ,会给计算机黑客和恶作剧者留下一个“漏洞”,他们可以安装“特洛伊木马”来窃取文件或造成破坏。所以,除非对使用系统的所有人都有完全的控制权和信心,否则建议使用更稳妥的方式添加自己的命令目录。
如果想知道一个命令来自哪个目录,不需要逐个查看 PATH 中的目录。可以使用 Shell 内置命令 type ,它会打印出作为参数的
超级会员免费看
订阅专栏 解锁全文
729

被折叠的 条评论
为什么被折叠?



