CentOS ls 使用 dpkg

CentOS ls 使用 dpkg

我以 CentOS 版本 6.9 HPC 的用户身份登录。当我尝试该ls命令时,我得到:

/usr/local/bin/ls: 第 96 行: dpkg: 未找到命令 中止,此脚本仅适用于类似 Ubuntu 的发行版

当我打开相应的 ls 文件时,第 96 行有以下行:

# (internal) The architecture of the local system
arch=$(dpkg --print-architecture)

我知道 dpkg 是 Debian 的东西,这就是为什么它不能在 CentOS 上工作。但为什么 dpkg 在那里呢?我如何运行一个简单的ls

答案1

从问题文本中可以看出,该ls命令是从目录中获取的/usr/local/bin,这意味着在PATH变量值中找到该目录的时间早于 eg/usr/bin/bin

更改 shell 启动文件中变量值的顺序(可能通过在其前面添加/bin/usr/bin)应该会阻止 shell 使用lsfrom /usr/local/bin,假设orls中有命令。/bin/usr/bin

PATH=/bin:/usr/bin:$PATH

原因为什么 /usr/local/bin/ls是一个 shell 脚本(可能是Ubuntu 特定的脚本可以在这里找到,虽然不是恶意软件,但与该ls命令完全没有任何关系)仍然是一个谜,这种异常是否仅限于ls可执行文件,或者是否扩展到/usr/local.

相关内容