Eu sugeriria que seu head
seja linkado por link simbólico para busybox
, mas até o busybox funcionará com head -n 5 < foo.sh
. (Na verdade, o que eu tentei funciona com head -n 5 foo.sh
, mas talvez existam versões que não funcionam.) Ainda assim, parece provável que o head
em sua máquina não seja nenhum padrão head
. Talvez seja um alias ou uma função de shell.
Nota pequena: É importante (embora nem sempre óbvio) distinguir entre um programa que está "pendurado" e um programa que está simplesmente aguardando a entrada do usuário. O seu está aguardando a entrada do usuário. Isso é diferente, por exemplo, de sleep 3600
ou for ((i=1;i<100000000;++i)); do :; done
.
Aqui estão algumas coisas que você pode tentar:
$ type head
head is aliased to 'echo Surprise\!'
#...
$ type head
head is a function
head ()
{
echo surprise\!
}
# ...
$ type head
head is hashed (/usr/local/bin/head)
$ file /usr/local/bin/head
/usr/local/bin/head: POSIX shell script, ASCII text executable
$ type head
head is hashed (/usr/local/bin/head)
$ file /usr/local/bin/head
/usr/local/bin/head: symbolic link to '/bin/busybox'