Я не думаю, что вы используете bash
, потому что оба параметра -n
и - Флаги e
обычно распознаются утилитой bash
echo
.
Убедитесь, что вы запускаете сценарий, явно указав bash
в качестве интерпретатора,
$ bash ./script.sh
или сделав его исполняемым и запустив его,
$ chmod +x ./script.sh
$ ./script.sh
Ваши арифметические операции в сценарии также неверны ( при вычислении процентиля
). bash
выполняет арифметические подстановки в $ ((...))
и арифметические вычисления в ((...))
.
Вот альтернативная реализация:
iter=70500
for(( i = 1; i <= iter; i++ )); do
if ! (( i % (iter/100) )); then
printf '\r%d%%' "$(( (100*i)/iter ))"
fi
done
echo
Если нет фактического набора тестов для проверки соответствия POSIX хвоста, лучший способ — прочитать документацию POSIX для хвоста и посмотреть, соответствует ли ваша версия.
Тем не менее, я был бы удивлен, если бы busybox tail
был POSIX-правильным --busybox строго оптимизировал размер, а не полное соответствие стандартам в своем экспортируемом интерфейсе. Например, он имеет -c
, только если FEATURE_FANCY_TAIL
включен во время компиляции, что, если вы оптимизируете размер, не будет:https://git.busybox.net/busybox/tree/coreutils/tail.c#n28