Ich wollte vorschlagen, dass Ihr head
Symlink ist busybox
, aber auch mit busybox wird es funktionieren head -n 5 < foo.sh
. (Tatsächlich funktioniert die, mit der ich ausprobiert habe head -n 5 foo.sh
, aber es gibt möglicherweise Versionen, die dies nicht tun.) Trotzdem scheint es, dass die head
auf Ihrem Rechner nicht Standard ist head
. Vielleicht ist es ein Alias oder eine Shell-Funktion.
Kleiner Hinweis: Es ist wichtig (wenn auch nicht immer offensichtlich), zwischen einem "hängenden" Programm und einem Programm zu unterscheiden, das einfach auf Benutzereingaben wartet. Ihre wartet auf Benutzereingaben. Das ist anders als zum Beispiel sleep 3600
oder for ((i=1;i<100000000;++i)); do :; done
.
Hier sind einige Dinge, die Sie ausprobieren können:
$ 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'