-bash: unalias: ls: 未找到

-bash: unalias: ls: 未找到

我正在尝试在 centos 7 上安装 tomcat 8。我以 root 身份使用终端。当我输入 时source ~/.bashrc,终端返回以下错误:-bash: unalias: ls: not found

如何解决此错误以使source ~/.bashrc命令能够成功?

请注意,我最近添加了该行作为unalias ls最后一行~/.bashrc@Cyrus 针对同一 CentOS 安装中与颜色锯齿相关的其他问题的解决方案

答案1

如果它实际上是一个别名,您应该只尝试取消别名:更改

unalias ls

[[ $(type -t ls) == "alias" ]] && unalias ls

答案2

我无法重现此问题,但我认为问题是因为您已经取消别名ls一次,所以您无法再次取消别名。不过,我也很确定该source命令运行良好。你检查了吗?很可能它的来源正确,您可以忽略错误消息。

更重要的是,你为什么要跑步source ~/.bashrc?无论如何,当您启动新的交互式非登录 shell 时,应该读取该文件。如果是因为您进行了更改而重新加载它,那么没问题,您的更改已加载。忽略该错误。

答案3

考虑放入unalias ls 2>/dev/null您的~/.bashrc替代品 - 这样即使ls已经取消别名,它也不会显示您所看到的错误消息。

还要考虑不要登录到 root shell - 如果您不明白这个错误告诉您什么,我认为登录到 root shell 并不是一个好主意。对于普通用户帐户,很难犯下破坏系统的错误,更难以以无法通过重新启动修复的方式破坏系统。有了 root shell,破坏系统就变得非常容易。

答案4

[ -t 0 ] && unalias ls

这并不直接测试是否ls实际上是别名,而是测试您是否在终端中,这更简单一点,特别是如果您~/.bashrc希望以相同的方式处理更多代码:

if [ -t 0 ]; then
  unalias ls
  # ... any other terminal-only actions
fi

相关内容