zsh 安装完后出现 command not found: shopt 问题

文章讲述了在安装Zsh后遇到命令找不到的报错,问题出在将source~/.bash_profile加入到.zshrc配置文件导致的。通过分析,发现是.bashrc文件中的if条件语句执行在Zsh环境中产生错误。解决方案是修改.bashrc文件,将调用/etc/bashrc的部分改为使用bash-c命令来执行,从而避免了报错。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装完zsh后出现以下报错,

command not found: shopt

网上的其他方式

echo"export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules">> ~/.zshrc && source ~/.zshrc

或者

exec bash
source ~/.bashrc
source ~/.zshrc
exec zsh

再我这都不行

 经过一些资料查找学习后,发现在安装zsh的过程中,做配置文件的时候,

source ~/.bash_profile

加入到zsh的配置文件 ~/.zshrc 中后会出现的错误,注释这句就不会,

但是这句是linux 的环境变量文件,不能去除,是要保留的

查看文件里面包含会读取~/.bashrc这个文件,后来找到就是这个文件里面的编写方式造成的报错,

再bash 环境中 执行 

source /etc/bashrc

是不会报错的,但是再zsh里面执行就会报标题的错误

因此将 ~/.bashrc 里面的

if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

. /etc/bashrc 改成 bash -c ". /etc/bashrc"

if [ -f /etc/bashrc ]; then
        bash -c ". /etc/bashrc"
fi

保存退出

source ~/.zshrc

结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值