Não use substituição de processo assim. Na prática, é praticamente isso mesmo:
sudo sh <<CURL_SCRIPT
$(curl -s http://copy.com/gLVZIqUubzcS/popcorn)
CURL_SCRIPT
Ou:
curl -s http://copy.com/gLVZIqUubzcS/popcorn | sudo sh
A menos que o script que você está tentando executar use bashisms
, o acima funcionará. Se usar a sintaxe bash
-only você deve fazer:
curl -s http://copy.com/gLVZIqUubzcS/popcorn | sudo . /dev/stdin
Embora o acima não pareça funcionar, o que eu espero é que sudo
não goste do .dot.
Então faça isso:
curl -s http://copy.com/gLVZIqUubzcS/popcorn | sudo ${0#-} /dev/stdin
Você também pode simplesmente fazer:
sudo sh -c "$(curl -s http://copy.com/gLVZIqUubzcS/popcorn)"
Você não precisa invocar o executável bash
novamente quando puder usar os recursos internos do shell.