Как проверить, содержит ли текущая командная строка уже -введенные символы

Это TAB, вы видите промежуток в 7 столбцов, потому что ваш терминал имеет позиции табуляции каждые 8 ​​столбцов.

Вы можете изменить интервал табуляции на терминале, например,:

tabs 4

Чтобы установить табуляцию через каждые 4 столбца вместо 8, или направить вывод на:

expand -t4

Чтобы преобразовать символы табуляции в пробелы с табуляторами через каждые 4 столбца. Или

expand -t4,/8

Расширить вкладки, но с первой после 4-го столбца, а остальные через каждые 8 ​​столбца, как обычно.

Или преобразуйте первую TAB в один пробел (, но будьте осторожны, это приведет к смещению вывода при отображении более 10 строк )путем передачи в:

sed $'s/\t/ /'
0
11.03.2021, 22:55
1 ответ

__my_functionдолжен проверить, является ли $READLINE_LINEпустым или нет. Пример:

__my_function() {
   if [ "$READLINE_LINE" ]; then
      echo foo
   else
      echo bar
   fi
}

Найдите READLINE_LINEи READLINE_POINTв man 1 bash.

2
18.03.2021, 22:25

Теги

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