Я редко отправляю вопрос, потому что я склонен быть одержимым попыткой понять вещи самостоятельно, но сегодня я действительно застреваю...., и у меня была долгая неделя, и мой мозг мертв...
так или иначе я пытаюсь загрузить var, который проводит горизонтальную прямую линию длина моей консоли.
Я попытался разграничить несколько путей:
'⎼' не является подчеркиванием, символ находится немного выше, чем подчеркивание т.е.: ⎼ _
printf '⎼ $ .s' % (seq 1$COLUMNS)
python3-c "печать (' ⎼' * $COLUMNS)"
обе команды разграничивают, и когда я присваиваю его var как: $ HORZLINE= (printf '⎼ $ .s' % (seq 1$COLUMNS)
и затем назовите $HORZLINE, он также разграничивает.
Я сталкиваюсь с проблемами, когда я пытаюсь добавить что строка ($ HORZLINE= (printf '⎼ $ .s' % (seq 1$COLUMNS)) к .bashrc и попытке загрузить его на запуске.
Загрузки var, но целая строка не загружается. Только один символ загружается. Таким образом, когда я пробую:
$: повторите-e "$HORZLINE" ⎼
ПОСЛЕ терминальных начальных загрузок, если я получаю .bashrc файл снова, переменные нагрузки правильно и провожу целую линию.
У кого-либо есть какие-либо идеи относительно того, что я делаю неправильно, или что продолжается?
**
**
Я просто хотел дать Вам парней головы и обновить это для любого туда испытание той же проблемы..
Все, что я должен был сделать для решения проблемы, должно было включить force_color_prompt (не прокомментируйте это в .bashrc),
Вот снимок экрана моей подсказки, не загружающейся правильно:
и вот то, на что это, как предполагается, похоже:
Я чувствую себя настолько глупым. Я потратил так много времени, пробуя все эти разные вещи, когда я должен был просто посмотреть на bashrc.
Но именно так Вы знаете, я даже не думал о force_color_prompt, потому что терминал делал некоторые странные вещи, как: 1. если я запустил терминал помощника, подсказка, загруженная правильно 2. Я повторно запускаю xterm и НИЧТО 3. Бездельничавший с предпочтениями в xterm, измененном шрифт, запускают терминал снова, и он прекратил работать. НО если бы я возвратил шрифт к системному значению по умолчанию, то он работал бы снова.
Таким образом, я бездельничал с установкой xterm, которая, если у Вас был опыт с, не так легка.
Так или иначе.. вот именно.
Спасибо за всю Вашу справку.
Проблема - это даже когда checkwinsize
установлен, $COLUMNS
переменная не становится установленной до a SIGWINCH
сигнал получен.
Я не уверен - ли это правильный способ сделать это, но это, кажется, работает на меня:
kill -s SIGWINCH $$
HORZLINE=$(printf '⎼%.s' $(seq 1 $COLUMNS))
echo "$HORZLINE"
[РЕДАКТИРОВАНИЕ: Вам не нужно -e
с тех пор в строке нет никаких escape-последовательностей.]
Из страницы справочника удара для СТОЛБЦОВ,
Automatically set if the checkwinsize option is enabled or in an interactive shell upon receipt of a SIGWINCH.
Вы устанавливали checkwinsize?, потому что .bashrc, вероятно, не вошел в интерактивную оболочку.
как я добавил к своему вопросу, проблема была то, потому что у меня не было force_color_prompt включенным в .bashrc.
однажды я непрокомментированный строка, переменные, загруженные правильно.
Это непосредственно не решает Вашу проблему, но в моем ~/.bashrc
Я печатаю горизонтальную строку, промежуточную каждая команда:
Это выполняется путем установки $PS1
в ~/.bashrc
:
Divider=""
for ((i=0; i<$COLUMNS; i++)) ; do
Divider="$Divider""─"
done
if [ "$color_prompt" = yes ]; then
PS1='${Divider}\n${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${Divider}\n${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
Примечание: если Вы изменяете ширину gnome-terminal
окна необходимо снабдить .bashrc
с командой . ~/.bashrc
изменить размер разделительной линии в командной строке.