(终于解决了)由于/bin 不在PATH环境变量中,故无法找到该命令

在root用户下编辑~/.bashrc 文件,配置环境变量的时候不知道什么地方发生了错误
保存退出后除了cd 功能还能继续使用外,其他的比如 ls,vi功能全都不行了
一直提示:

由于/bin 不在PATH环境变量中,故无法找到该命令

想要重新进入~/.bashrc 文件中查看哪里发生了错误,却也不行,因为不知道怎么编辑root用户的 ~/.bashrc 文件
,网上的答案也是一知半解,并不起作用。

突然想起了root用户和普通用户对应的根目录是不一样的
root用户的根目录在/root 文件中
普通用户的根目录在/home/用户名/ 这个文件中

但是现在root用户无法进行vi,ls等操作,普通用户输入

sudo vim ~/.bashrc

并不能编辑root用户的文件。
我该如何编辑root用户 ~/.bashrc 文件?
其实很简单。

sudo chmod 777 /root

将root文件的操作权限修改,
修改过后,打开root文件夹,发现里面啥都没有???

不要着急。直接在普通用户的终端中输入,注意bashrc前面有一个 小点

sudo vim /root/.bashrc

就能编辑文件,找到之前的加入代码,找到相应的错误改正就可以了,发现原来我是因为配置环境变量时忘了在PATH前加$符号,加上之后保存退出就可以了


Linux环境变量设置/etc/profile、/etc/bashrc、~ /.profile、~/.bashrc区别

登入系统读取步骤:

当登入系统时候获得一个shell进程时,其读取环境设定档有三步 :

1.首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如 /etc/profile.d和/etc/inputrc

2.然后根据不同使用者帐号,去其家目录读取 ~ /.bash_profile,如果这读取不了就读取~ /.bash_login,这个也读取不了才会读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系

3.然后在根据用户帐号读取~/.bashrc

/etc/*和~/.*区别:

1)/etc/profile,/etc/bashrc 是系统全局环境变量设定
2)~ /.profile,~/.bashrc是用户家目录下的私有环境变量设定
3)~ /.profile与~/.bashrc的区别:

都具有个性化定制功能

~/.profile可以设定本用户专有的路径,环境变量等,它只在登入的时候执行一次

~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

猜你喜欢

转载自blog.csdn.net/weixin_45468845/article/details/106461016