我以 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
?
从问题文本中可以看出,该
ls
命令是从目录中获取的,这意味着在变量值/usr/local/bin
中找到该目录的时间早于 eg和。PATH
/usr/bin
/bin
更改 shell 启动文件中变量值的顺序(可能通过在其前面添加
/bin
和/usr/bin
)应该会阻止 shell 使用ls
from/usr/local/bin
,假设orls
中有命令。/bin
/usr/bin
原因是shell 脚本(可能是 此处找到的 Ubuntu 特定脚本的
/usr/local/bin/ls
副本,虽然不是恶意软件,但与该命令完全没有任何关系)仍然是一个谜,这种异常现象是否受到限制也是一个谜到可执行文件或它是否扩展到.ls
ls
/usr/local