Linux /etc/profile 出错

cnbaby 发布于 2017/03/19 22:23
阅读 370
收藏 0

尝鲜试一下国产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模拟器

加载中
0
醉雪卧沙
醉雪卧沙
if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi

for循环语句都不完整结尾应该加一个done,外层的if语句也不完整,少一个

cnbaby
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 这样子就好了 还真少了 thanks
0
GestureWei
GestureWei
很明显读profile.d这个目录的那段语句就不全
0
雨翔河
雨翔河

你都贴出来了,仔细看下,明显if和for都不完全。

0
cnbaby
cnbaby

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

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

果然少了,谢谢

0
醉雪卧沙
醉雪卧沙

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

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的那三行保存成一个脚本。系统开机后会自动加载这个目录下的文件,从而保存你的环境变量。

返回顶部
顶部