Странное поведение Zsh в кавычках

Теперь это именно то, что показано на снимке:

Добавьте это в ваш ~/.bashrc

PS1="\[\e[34;45m\]\w\[\e[m\]\[\e[35m\]▶\[\e[m\] "

Это зависит от шрифта и символа угла, который вы можете найти более подходящим.

Вы также можете посмотреть здесь Power -приглашение стиля линии .

1
08.12.2019, 15:01
1 ответ

Ваш первый цикл выполняет итерацию по элементам массива, тогда как ваш второй цикл выполняет итерацию по строке, которая разбивается на пробелы. Если вы хотите, чтобы второй цикл выдавал тот же результат, что и первый, вам нужно объявить aкак массив:

a=( 0 foo 1 'bar t ttt' 2 baz 3 '   ' 4 'qux ' 5 '' )
for i in $a; do echo $i; done

Или, если вы ограничены использованием строки, вам нужно разделить ее на слова оболочки (вместо пробела ), а затем удалить одинарные кавычки:

a="0 foo 1 'bar t ttt' 2 baz 3 '   ' 4 'qux ' 5 ''"
for i in ${(Q)${(z)a}}; do echo $i; done
1
18.06.2020, 12:13

Теги

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