로그인하면 다음 오류가 발생합니다.
-bash: /etc/profile: line 1: syntax error near unexpected token ('
파일에는 다음 코드가 포함되어 있습니다.
n# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))\n
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).\n\nif
[ -d /etc/profile.d ]; then\nfor i in /etc/profile.d/*.sh; do\nif [ -r $i ];
then\n. $i\nfi\ndone\nunset i\nfi\n\nif [ "$PS1" ]; then\nif [ "$BASH" ];
then\nPS1=u@h:w$ \nif [ -f /etc/bash.bashrc ];
then\n.
/etc/bash.bashrc\nfi\nelse\nif [ "
id-u" -eq 0 ];
then\nPS1=# \nelse\nPS1=$ \nfi\nfi\nfi\n\numask
022\nPT5HOME=/opt/pt\nexport PT5HOME
인터넷에서 검색했지만 이해가 되거나 내 문제와 일치하는 항목을 찾지 못했습니다(제 생각에는). 이 문제를 해결하는 방법은 컴퓨터에 문제를 일으키지 않는 것 같지만 무엇인지 알고 싶습니다. 무슨 일이에요?
답변1
서식을 수정하고 \n
실제 개행 문자로 바꾸고 처음에 있는 가짜 "n"을 제거하면 제대로 작동합니다. 그러므로:
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
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 [ -n "$PS1" ]; then
if [ -n "$BASH" ]; then
PS1='u@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
umask 022
PT5HOME=/opt/pt
export PT5HOME