root用户执行source /root/.bashrc报错:bash: /usr/local/bin/shopt: No such file or directory
问题解决步骤
- 先在root的bash终端执行
type shopt,正常输出应为shopt is a shell builtin。若输出不符,说明shopt被别名/函数覆盖,或是bash本身异常。 - 若存在别名覆盖,执行
unalias shopt解除别名,再尝试shopt -s histappend,确认是否正常生效。 - 检查root的
.bashrc文件,排查两类问题:- 错误的别名定义:比如
alias shopt=/usr/local/bin/shopt这类行,直接删除或注释。 - 同名自定义函数:如果有和shopt重名的函数,删除或重命名。
- 错误的别名定义:比如
- 若以上操作无效,说明bash可能损坏,重新安装bash:
- Debian/Ubuntu系统:
apt install --reinstall bash - RHEL/CentOS系统:
yum reinstall bash
- Debian/Ubuntu系统:
内容的提问来源于stack exchange,提问作者ecjb
相关产品推荐
相关产品推荐

