Faça o download e execute o script separadamente:
curl -OL https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh
bash install.sh
E você provavelmente deve desfazer as alterações em /etc/pam.d/chsh
.
Explicação:
Piping o texto de um script para bash
cat script.sh | bash
não é o mesmo que dar um script como parâmetro para bash
bash script.sh
Por canalizar install.sh
para bash
, o bash recebe sua entrada padrão ( stdin ) do canal em vez do usuário. Nesse caso, chsh
também parece estar recebendo sua entrada de stdin , que é a próxima linha no script após a chamada para chsh
. (No momento parece ser uma linha vazia. Se fosse sua senha, você não teria nenhum problema ;-))
Você pode testar isso com este script curto, no qual read
espera uma linha de entrada:
read -p 'input: ' INPUT
echo -n 'You wrote this: '
echo "> $INPUT <"
salvo como script.sh
:
$ bash script.sh
input: foobar
You wrote this: > foobar <
$ cat script.sh | bash
> echo -n 'You wrote this: ' <