深入探索Shell环境定制与变量管理
命令路径与执行
在Shell环境中,当执行命令时,Shell通常使用已有的命令,不过若想明确使用特定版本,需输入命令的完整路径名。例如,若在特定目录创建了自己的 more 命令版本,且 PATH 设置如前文所示,那么需输入 /home/you/bin/more (或 ~/bin/more )来使用该版本。
重置路径有两种方式,较为冒险的做法是将自己的目录置于其他目录之前,如下所示:
PATH="/home/you/bin:"$PATH
这种方式不安全。一方面,要确保自己的 more 命令版本能正常运行;另一方面,更重要的是存在系统安全风险,会给计算机攻击者和恶作剧者留下“漏洞”,他们可借此安装“特洛伊木马”,窃取文件或造成破坏。所以,除非能完全掌控并信任使用该系统的所有人,否则建议采用添加自定义命令目录的第一种方法。
若想知道某个命令来自哪个目录,无需逐个查看 PATH 中的目录。可使用Shell内置的 type 命令,它会打印出作为参数传入的命令的完整路径名;若是内置命令(如 cd )、别名或函数,会打印命令名及其类型。
命令哈希机制
在大量可能的位置查找命令会耗时较长,为提高效率,bash采用哈希表。每次Shell在搜索路径中找到命令,都会将其存
超级会员免费看
订阅专栏 解锁全文
90

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



