关于Ubuntu中设置环境变量错误,不能重新登录系统

Shell变量有局部变量、环境变量之分。局部变量就是指在某个Shell中生效的变量,只在此次登录中有效。环境变量通常又称“全局变量”,虽然在Shell中变量默认就是全局的,但是为了让子Shall继承当前Shell的变量,需要使用export内建命令将其导出为环境变量。
1、Linux的变量种类
按变量的生存周期划分:
永久的:需要修改配置文件,变量永久生效。
临时的:使用export命令声明即可,变量在关闭shell时失效。
在配置永久的环境变量时,又可以按照作用范围分为
用户环境变量
系统环境变量。
系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。
2、修改系统环境变量
系统环境变量一般保存在下面的文件中
/etc/profile
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
/etc/bash.bashrc
它也是全局(公有)的 bash执行时,不管是何种方式,都会读取此文件。
/etc/environment
不要轻易修改此文件
!!!!!!话不多说,亲身体验+借鉴!!!!!!!!!
因为不小心在 etc/profile里设在环境变量导致无法登录 (我设置环境变量时多加了一个空格,导致无法登录系统)
不要在 etc/profile里胡乱设置export PATH,这样会导致重启后登录不了 系统 
解决办法:1、在登录界面 alt +ctrl+f2进入命令模式
2、输入用户,密码
3、进入:cd  /usr/bin
4、修改错误的环境变量:sudo /usr/bin/vi /etc/profile
5、保存重启

附录:

在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出,   返回到shell。

在末行模式下,输入命令   

    :w 

    Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。

    [例6]   

    :w   newfile 

    此时Vi将把当前文件的内容保存到指定的newfile中,而原有文件保持不变。若newfile是一个已存在的文件,则Vi在显示窗口的状态行给出提示信息: 

    File   exists   (use   !   to   override) 

    此时,若用户真的希望用文件的当前内容替换newfile中原有内容,可使用命令 

    :w!   newfile 

    否则可选择另外的文件名来保存当前文件。 

    在末行模式下,输入命令   

    :q 

    系统退出Vi返回到shell。若在用此命令退出Vi时,编辑文件没有被保存,则Vi在显示窗口的最末行显示如下信息: 

    No   write   since   last   change   (use   !   to   overrides) 

    提示用户该文件被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文件而要强行退出Vi时,可使用命令 

    :q! 

    Vi放弃所作修改而直接退到shell下。 

    在末行模式下,输入命令   

    :wq 

    Vi将先保存文件,然后退出Vi返回到shell。 

    在末行模式下,输入命令   

    :x 

    该命令的功能同命令模式下的ZZ命令功能相同


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值