/etc/profile 편집 후 "명령을 찾을 수 없습니다"

/etc/profile 편집 후 "명령을 찾을 수 없습니다"

나는 이것을 따랐다지도 시간모든 사용자에 대해 JAVA 변수를 추가합니다. 그런 다음 내 호스팅 서비스가 제공하는 편집기를 열고 마지막 2줄을 추가했습니다.센토스 5.9섬기는 사람.

# /etc/profile
    
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

pathmunge () {
    if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
       if [ "$2" = "after" ] ; then
          PATH=$PATH:$1
       else
          PATH=$1:$PATH
       fi
    fi
}

# ksh workaround
if [ -z "$EUID" -a -x /usr/bin/id ]; then 
    EUID=`id -u`
    UID=`id -ru`
fi

# Path manipulation
if [ "$EUID" = "0" ]; then
    pathmunge /sbin
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
fi

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

if [ -x /usr/bin/id ]; then
    USER="`id -un`"
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
fi

HOSTNAME=`/bin/hostname`
HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
    INPUTRC=/etc/inputrc
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi

for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . $i
        else
            . $i >/dev/null 2>&1
        fi
    fi
done

unset i
unset pathmunge
#cPanel Added local::lib -- BEGIN
LOCALLIBUSER=$USER
if [ -e "/usr/bin/whoami" ]; then
        LOCALLIBUSER=`/usr/bin/whoami`
fi
if [ "$LOCALLIBUSER" != "root" ]; then
    eval $(perl -Mlocal::lib)
fi
#cPanel Added local::lib -- END

export PATH=$PATH:/opt/java/jdk1.6.0_41/bin
export PATH=$PATH:/opt/java/jdk1.6.0_41/bin

다시 로그인하면 다음을 얻습니다.

여기에 이미지 설명을 입력하세요

문제는 Java 홈 변수를 구성해야 한다는 것입니다.마지막 두 줄에 추가한 내용을 삭제해도 계속 해당 오류가 발생합니다.. 감사해요.

답변1

CR+LF 시퀀스(CR = 캐리지 리턴)를 사용하여 변경된 개행('\n') 문자(숫자로 줄 바꿈(LF) 문자와 동일)를 사용한 편집기와 매우 유사합니다. 전반적으로 귀하가 보여준 오류 메시지는 그다지 의미가 없지만 다음 부분이 저에게 돋보였습니다.

…bash: /etc/profile: line 6: syntax error near unexpected token `{
'

이는 "예기치 않은 토큰" {뒤에 CR이 따른다는 의미입니다.

관련 정보