开发者社区> 问答> 正文

Linux /etc/profile 出错报错 

尝鲜试一下国产Linux用作开发有多么的拉风,结果一不小心在更改环境变量的时候删了几句话,而且还保存了,还顺便重启了,我擦。。现在如下  

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))

and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "id -u" -eq 0 ]; then PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" else PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" fi export PATH

if [ "$PS1" ]; then if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then # The file bash.bashrc already sets the default PS1. # PS1='\h:\w$ ' if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ "id -u" -eq 0 ]; then PS1='# ' else PS1='$ ' fi fi fi

if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi

JAVA_HOME= /usr/lib/jdk1.8.0_121 CLASSPATH= /usr/lib/jdk1.8.0_121/lib PATH=$PATH:$JAVA_HOME/bin:$CLASSPATH export PATH

PATH=$/usr/local/android-studio/bin:$PATH

导致的结果就是,开机就显示43行有错,可是  我这明明才42行,而且模拟器也直接不能打开了,不论是Android-Studio的模拟器还是第三方的Genymotion模拟器

展开
收起
kun坤 2020-06-03 10:20:25 796 0
1 条回答
写回答
取消 提交回答
  • if [ -d /etc/profile.d ]; then
      for i in /etc/profile.d/*.sh; do
        if [ -r $i ]; then
          . $i
        fi
    for循环语句都不完整结尾应该加一个done,外层的if语句也不完整,少一个######if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi 这样子就好了 还真少了 thanks######很明显读profile.d这个目录的那段语句就不全######你都贴出来了,仔细看下,明显if和for都不完全。######

    引用来自“醉雪卧沙”的评论

    if [ -d /etc/profile.d ]; then
      for i in /etc/profile.d/*.sh; do
        if [ -r $i ]; then
          . $i
        fi
    for循环语句都不完整结尾应该加一个done,外层的if语句也不完整,少一个
    if [ -d /etc/profile.d ]; then
      for i in /etc/profile.d/*.sh; do
        if [ -r $i ]; then
          . $i
        fi
      done
      unset i
    fi
    果然少了,谢谢######

    引用来自“醉雪卧沙”的评论

    if [ -d /etc/profile.d ]; then
      for i in /etc/profile.d/*.sh; do
        if [ -r $i ]; then
          . $i
        fi
    for循环语句都不完整结尾应该加一个done,外层的if语句也不完整,少一个

    引用来自“cnbaby”的评论

    if [ -d /etc/profile.d ]; then
      for i in /etc/profile.d/*.sh; do
        if [ -r $i ]; then
          . $i
        fi
      done
      unset i
    fi
    果然少了,谢谢 现在改环境变量的话不建议这么改,/etc/profile这个文件一旦改错了就很尴尬。比较保险的方法是到/etc/profile.d这个目录下新建一个文件,把你刚刚设置JAVA的那三行保存成一个脚本。系统开机后会自动加载这个目录下的文件,从而保存你的环境变量。
    2020-06-03 10:20:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载