Первое решение Stephane в функции так, чтобы можно было использовать аргументы (работы в любой подобной Границе оболочке или оболочке POSIX):
head_tail() {
head "$@";
tail "$@";
}
Теперь можно сделать это:
head_tail -n 5 < /path/to/file
Это, конечно, предполагает рассмотрение только одного файла, и как решение Stephane работает (надежно) только над регулярными (seekable) файлами.
См .: https://stackoverflow.com/questions/3413166/when-does-a-process-get-sigabrt-signal-6
Предполагая, что вы не отправляли сигнал SIGABRT, Если бы я предположить, компиляция испортилась. Попробую скомпилировать из исходников.