Fragen? Antworten! Siehe auch: Alternativlos
process_includes () { cat $1 | grep '^include' | \ while read include file ; do all_includes="$all_includes $src_dir/$file" process_includes $src_dir/$file done }Wie sich herausstellt, kann man das Problem auf eine Zeile eindampfen:
cat bin | grep include | while read include file; do echo $file; doneDas cat schlägt fehl, weil bin nicht existiert oder ein Verzeichnis ist. grep liefert eine leere Ausgabe. Das while read hat jetzt bei meinem /bin/sh daraus eine leere Zeile gemacht. Mein /bin/sh ist "bash 4.3.8(3)-release", kompiliert mit --enable-minimal-config. Mein /bin/bash ist die gleiche Version von bash, kompiliert ohne minimal-config aber dafür mit --enable-multibyte und da geht es. Mit zsh geht es auch. Da muss man erst mal drauf kommen, dass sowas an der Shell liegen könnte. Lösung: make SHELL=/bin/bash.