Token inesperado no arquivo bash backtrack5 r2

0

Quando eu faço login, aparece o seguinte erro:

-bash: /etc/profile: line 1: syntax error near unexpected token ('

Dentro do arquivo, há o próximo código:

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

Eu pesquisei na internet, mas não encontrei algo compreensível ou que corresponda ao meu problema (eu acho), como poderia consertar isso, parece não causar problemas para o computador, mas eu gostaria de sabe o que está acontecendo.

    
por poz2k4444 17.09.2012 / 22:58

1 resposta

2

Corrija a formatação, substitua o \n por novas linhas reais e remova o espúrio 'n' no começo, então ele funciona. Assim:

# /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
    
por 17.09.2012 / 23:29