Как Marc B сказал, что проблема возникает из-за переменной N не будучи набором, который ведет tail
по умолчанию используемый по умолчанию количество строк, которое равно 10. (Очевидно, это также может произойти, если N действительно установлено в 10.)
Основная проблема здесь заключается в том, что вы не понимаете, что на самом деле делает этот код. Я подозреваю, что вы на самом деле не пишете этот код самостоятельно. Несмотря на то, что это сценарий bash, он ожидает, что будет установлена переменная N. Это весьма неортодоксальные для Баш скрипт, вы обычно используете
$1
вместо $N
, или еще лучше
${1:?}
, который будет отображать сообщение об ошибке и выйти немедленно, если вы забыли передать в аргумент командной строки.
возможно '$ N' составляет 10? –
так что я могу полностью опустить $ N? – phpmydev
10 строк - это выходные значения по умолчанию для головы и хвоста. если $ N вообще не определен, тогда этот код станет «хвостом», указывая хвосту на чтение из stdin, что будет «сортировкой» вывода .... и вы получите всего 10 строк (имена файлов), которые должны быть воспроизведены –