多年来,在类 UNIX 系统上(与我最相关的是 Linux),我注意到.(当前目录)在$PATH默认情况下永远不会出现。为什么是这样?
我记得几年前读到这是一个安全问题,但我读过的文章并没有解释到底是什么问题。是不是因为有人可能会离开的恶意版本,ls或cp在一个目录下,我最终会不自觉地运行它呢?
当一个文件被执行时,Unix 如何搜索它?如果PATH中有多个同名的可执行文件,首选哪一个?执行文件时搜索中是否包含当前目录?
假设executable.sh当前目录中有一个带有名称的文件。如果它被执行$ executed并且.不是 的一部分,那会起作用PATH吗?