Eu tento iniciar um novo shell no meu ambiente, mas o comando bash
tem um problema:
$ bash
bash: command substitution: line 1: syntax error near unexpected token 'then'
'ash: command substitution: line 1: 'print -n "'logname'@'hostname':$(tput sgr0)";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "
bash: command substitution: line 1: syntax error near unexpected token 'then'
bash: command substitution: line 1: 'print -n "'logname'@'hostname':$(tput sgr0)";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "'
Então eu não consigo escapar com
$ ")^C
bash: command substitution: line 2: syntax error near unexpected token 'then'
'ash: command substitution: line 2: 'print -n "'logname'@'hostname':$(tput sgr0)";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "
bash: command substitution: line 1: syntax error near unexpected token 'then'
bash: command substitution: line 1: 'print -n "'logname'@'hostname':$(tput sgr0)";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "'
e deve deixar o shell com - acho que isso significa que ele realmente abriu um subshell.
O shell que ele abriu tem um comportamento estranho, porque para cada comando que eu digito, ele irá repetir as quatro linhas do erro acima.
Eu olhei em ~/.bashrc
, mas a única coisa que faz é umask 0022
.
-x
não me dá muito sobre o meu problema
$ bash -x
+ umask 0022
++ tput bold
bash: command substitution: line 1: syntax error near unexpected token 'then'
... same error
Isso pode estar vinculado ao '
que existe em /ect/bashrc
na linha de comentário:
if ! shopt -q login_shell ; then # We're not a login shell
# Need to redefine pathmunge, it get's undefined at the end of /etc/profile
pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}
Onde devo procurar daqui? Devo pedir que /etc/bashrc
seja corrigido / modificado de alguma forma?
editar
Como sugerido por alguém, isso pode vir do meu ~/.profile
?
export PS1='$(tput bold)$(print -n "'logname'@'hostname':$(tput sgr0)";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "\n$ ")'
trap 1 2 3
PATH=$PATH:$HOME/bin
export PATH
export HTTPD_HOME=/pvar/product/httpd
export EDITOR=/bin/vi
export FCEDIT=/bin/vi
export VISUAL=/bin/vi
export HISTSIZE=5000
export TMOUT=0
Qualquer ajuda apreciada, obrigado.