`cal -h` команда: Bash подстрока` $ {строка: смещение: длина} `ошибка

Это была проблема с шрифтом, я изменил шрифт интерфейса, и проблема исчезла.

5
задан 29 April 2018 в 20:11

6 ответов

Ваша проблема в том, что cal уже выделяет текущий день, а управляющие коды отбрасывают смещения

Посмотрите на /tmp/terminal в шестнадцатеричном редакторе. Сегодня (11): 5F 08 31 5F 08 31, а не 31 31

Используйте cal -h для отключения автоматического выделения текущей даты.

8
ответ дан 22 May 2018 в 12:38
  • 1
    Я с сожалением сообщаю, что cal -h больше не работает с Ubuntu 18.04 LTS. Мне пришлось переключить код на @Steve H ниже. – WinEunuuchs2Unix 29 April 2018 в 07:44

Ваша проблема в том, что cal уже выделяет текущий день, а управляющие коды отбрасывают смещения

Посмотрите на /tmp/terminal в шестнадцатеричном редакторе. Сегодня (11): 5F 08 31 5F 08 31, а не 31 31

Используйте cal -h для отключения автоматического выделения текущей даты.

8
ответ дан 17 July 2018 в 19:04

Ваша проблема в том, что cal уже выделяет текущий день, а управляющие коды отбрасывают смещения

Посмотрите на /tmp/terminal в шестнадцатеричном редакторе. Сегодня (11): 5F 08 31 5F 08 31, а не 31 31

Используйте cal -h для отключения автоматического выделения текущей даты.

8
ответ дан 23 July 2018 в 19:51

@Martin Thornton будет в порядке, если все реализации cal фактически распознали -h как отключение форматирования. Debian даже не считает, что он это делает. Вместо этого отображается использование. Таким образом, это сработает.

cal > /tmp/terminal1
tr -cd '\11\12\15\40\60-\136\140-\176' < /tmp/terminal1  > /tmp/terminal

Файл получает выход cal с форматированием, а следующая строка удаляет все, что нам не нужно, и позволяет остальной части кода выполнять свою работу.

1
ответ дан 22 May 2018 в 12:38
  • 1
    Я выполнил тесты с Ubuntu 18.04 и cal -h больше не поддерживается. Ваше решение для удаления всех форматирования. Я обновил сценарий: askubuntu.com/questions/1020692/… – WinEunuuchs2Unix 29 April 2018 в 07:42

@Martin Thornton будет в порядке, если все реализации cal фактически распознали -h как отключение форматирования. Debian даже не считает, что он это делает. Вместо этого отображается использование. Таким образом, это сработает.

cal > /tmp/terminal1 tr -cd '\11\12\15\40\60-\136\140-\176' < /tmp/terminal1 > /tmp/terminal

Файл получает выход cal с форматированием, а следующая строка удаляет все, что нам не нужно, и позволяет остальной части кода выполнять свою работу.

1
ответ дан 17 July 2018 в 19:04

@Martin Thornton будет в порядке, если все реализации cal фактически распознали -h как отключение форматирования. Debian даже не считает, что он это делает. Вместо этого отображается использование. Таким образом, это сработает.

cal > /tmp/terminal1 tr -cd '\11\12\15\40\60-\136\140-\176' < /tmp/terminal1 > /tmp/terminal

Файл получает выход cal с форматированием, а следующая строка удаляет все, что нам не нужно, и позволяет остальной части кода выполнять свою работу.

1
ответ дан 23 July 2018 в 19:51
  • 1
    Я выполнил тесты с Ubuntu 18.04 и cal -h больше не поддерживается. Ваше решение для удаления всех форматирования. Я обновил сценарий: askubuntu.com/questions/1020692/… – WinEunuuchs2Unix 29 April 2018 в 07:42

Другие вопросы по тегам:

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