Невозможно установить некоторые пакеты с Pacman/Octopi -Подозрительный метод выполнения

tail -c 1 выводит последний символ (, точнее, последний байт )своего ввода.

Подстановка команд удаляет завершающий символ новой строки, поэтому $(tail -c 1 <…)является пустым , если последний символ файла является новой строкой. Он также пуст, если последний символ является нулевым байтом (в большинстве оболочек ), но текстовые файлы не имеют нулевых байтов.

Имейте в виду, что пустой файл не нуждается в дополнительной новой строке.

if [ ! -s "$filename" ]; then
  echo "$filename is empty"
elif [ -z "$(tail -c 1 <"$filename")" ]; then
  echo "$filename ends with a newline or with a null byte"
else
  echo "$filename does not end with a newline nor with a null byte"
fi
2
21.10.2020, 13:46
0 ответов

Теги

Похожие вопросы