误操作导致.zshrc文件清空的抢救措施||注意重定义操作符的用法||shell的配置文件坏掉

文章目录

  • 序言
  • 误操作介绍
  • 抢救过程
    • 环境介绍
    • 开始抢救
      • 存储当前环境变量
      • 复制一份新的.zshrc

序言

进来提醒第一件事:以后记得定时备份!定时备份!定时备份!

因为一个误操作,我把自己的.zshrc搞坏了。

误操作介绍

先介绍一下我是怎么把配置文件搞坏的。我是通过如下命令导致的,也就是我的上一篇文章,关于riscv的gnu工具链安装的时候,将bin目录写入环境变量少了一个<号
正确的:

echo “export PATH=/opt/riscv/bin:$PATH>> ~/.bashrc

错误的:

echo “export PATH=/opt/riscv/bin:$PATH> ~/.bashrc

>>是重定向操作符,可以追加写而不会覆盖原文件,我由于少了一个>,酿成了大错。

抢救过程

当然,如果你的.zshrc文件真的已经寄了,并且像我一样没有备份,那么应该是做不到完全抢救回来的,能救多少救多少吧

环境介绍

我是zsh,并且使用了oh-my-zsh作为配置zsh的工具——oh-my-zsh对于抢救我的环境做出卓越贡献!

此时我运行了上面的错误命令,并且毫无察觉地运行了source ~/.zshrc,出现了错误,并且出现在第一行!我知道,糟了!

开始抢救

存储当前环境变量

如我刚才所说,source刷新环境变量的命令报错了,刷新环境变量失败,虽然我如果新打开终端那么我这个终端必然已经没有办法使用了,但是对于我现有的终端来说,环境变量依然建在,我们可以通过以下命令存储当前环境中苟延残喘的环境变量和其他配置信息:

set > ~/.zshrc.envvars  				# 环境变量
alias > ~/.zshrc.aliases 				# 别名
functions > ~/.zshrc.functions	# 函数方法

环境变量对于之后的修复还是挺有用的,另外两个如果你没有什么特殊的设置就可以直接不做了。
如果你对于.zshrc的组成足够了解,那么现在你就可以开始根据这些变量重新写一份了(不建议)!

复制一份新的.zshrc

补充内容:我在之后查资料的过程中了解到可以使用print -l ${(ok)env} > ~/.zshrc.envbackup这个命令存储当前环境变量,不知道和上面的那种方式有什么不同。上面那种存储环境变量的方式真的是大海捞针。
然后在完成了下面的步骤之后,可以通过cat ~/.zshrc.envbackup >> ~/.zshrc命令写入下面生成的新的.zshrc文件。但是我对于这部分内容没有进行尝试,掉了的环境变量是我手动添加的。

在oh-my-zsh的项目文件夹中,具有一份.zshrc文件模板,现在我们复制这个模板

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

然后再更新环境变量就可以了

source ~/.zshrc

然后你就可以重新开始导入环境变量了

PS:能用就不错了

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早上真好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值