Терминал, Подсказка, измененная на “-Bash-4.2” и потерянные цвета

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

GLOBIGNORE=.
for subdir in *; do
  test -d "$subdir" || continue
  cd "$subdir"
  ls *pdf
  cd -
done

или еще легче

ls */*.pdf
8
22.04.2014, 16:56
3 ответа
[1120606] Переменная prompt [1120965]$PS1[1120966], вероятно, не была установлена, поэтому используется встроенная по умолчанию [1120967]\s-\v\$[1120968]. [1286]При интерактивном запуске bash генерирует конфигурационный файл, обычно либо [1120969]~/.bashrc[1120970], либо [1120971]~/.bash_profile[1120972], предполагая, что они существуют, и таким образом устанавливается более фантастическая подсказка. From [1120973]man bash[1120974]:[1287]INVOCATION[1121135][1120976] [1120977][...] Когда bash вызывается как интерактивная оболочка для входа в систему, или как неинтерактивная оболочка с --login опция, сначала читает и выполняет команды из файла /etc/profile, если этот файл существует. После читая этот файл, он ищет [1121136]~/.bash_profile, ~/.bash_login,[1121137] and [1121138] ~/.профиль, [1121139] в этом порядке [...] [1120978] [1120979][...] Когда запускается интерактивная оболочка, которая не является оболочкой для входа в систему, bash читает и выполняет команды от [1121140]~/.bashrc, [1121141] если этот файл существует. [1288]Не имея набора подсказок, вы можете столкнуться с двумя различными контекстами: оболочками для входа и оболочками без входа. Если вы используете менеджер дисплеев для входа непосредственно в GUI, вы не столкнетесь с оболочками входа, если не переключитесь на виртуальную консоль (например, через [1120981]Ctrl[1289]Alt[1120984] + F1 - F6). Тем не менее, вы можете протестировать свой профиль для входа в систему в GUI, явно открыв новую оболочку для входа: [1120985]bash -l[1120986].[1290]Проблема возникает с нелогин-оболочками[1291]Если проблема возникает, например, с обычными GUI терминалами, то либо ваша [1120987]~/.bashrc[1120988] отсутствует, либо она была отредактирована, чтобы исключить возможность поиска глобального файла, вероятно [1120989]/etc/bashrc[1120990]. [1292]Если [1121156]~/.bashrc[1121157] не существует, то для его создания для новых пользователей должен использоваться [1121158]/etc/skel/.bashrc[1121159]. Просто скопируйте этот файл в ваш домашний каталог, и ваше приглашение по умолчанию должно вернуться к следующему открываемому файлу оболочки.[1293] Если [1121160]~/.bashrc[1121161] существует, проверьте, нет ли где-нибудь строки с исходными текстами [1121162]/etc/bashrc[1121163]:[1294]. /etc/bashrc -OR- источник /etc/bashrc Если нет, проверьте, существует ли этот файл (по крайней мере, на большинстве дистрибутивов linux) и добавьте такую строку в [1121166]~/.bashrc[1121167].[1296]Проблема возникает с оболочками для входа в систему[1297]Если проблема возникает с оболочками для входа в систему, а также с оболочками, не входящими в систему, проблема, вероятно, та же самая, что и вышеприведенная. Если она возникает [1120995]только [1120996] с оболочками входа, то либо у вас нет одного из файлов, упомянутых для оболочек входа в систему под цитатой INVOCATION выше, либо у них нет исходного кода вашего [1120997]~/.bashrc[1120998], что является нормальным для большинства дистрибутивов linux. Если ни один из этих файлов не существует, создайте [1120999]~/.bash_profile[1121000] с этим:[1298]Это позволит вам, по большей части, сохранить вашу конфигурацию в одном файле ([1121001]~/.bashrc[1121002]).[1299]Если что бы вы ни делали, вы не можете получить запрос обратно, вы можете создать его и поместить в [1121003]~/. bashrc[1121004] таким образом:[12100]Это потому, что $PS1 установлен и имеет значение по умолчанию для интерактивных оболочек, и вы не хотите устанавливать его иначе, так как другие вещи могут использовать это значение для определения, является ли это интерактивным окружением.[12101]Страница bash содержит раздел PROMPTING, который описывает, как установить подсказку с динамическими возможностями, такими как ваше имя пользователя и текущий рабочий каталог, который был бы, например, :[12102]Здесь есть руководство по [1121005]использованию цвета[1121006]. Обратите внимание на то, что в [1121007]\[[1121008] и [1121009]\][1121010] следует вложить непечатанные символы (об этом говорится в конце ответа о цветах). [1120634]
10
27.01.2020, 20:11

Пришлось обновить Cygwin bash из соображений безопасности.

старый bash = 4.1.10 (4) -release (i686-pc-cygwin) около 2009 г.

$ echo $PS1

\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$

новый bash = 4.4.12 (3) -release (i686-pc-cygwin) около 2016 г.

Чтобы получить тот же внешний вид, пришлось добавить к .bashrc :

#

GREEN="\[$(tput setaf 2)\]"

YELLOW="\[$(tput setaf 3)\]"

RESET="\[$(tput sgr0)\]"

PS1="\n${GREEN}\u@\h ${YELLOW}\w${RESET}\n$ "

cd $HOME

#

примечание: включая cd $ HOME

0
27.01.2020, 20:11

Просто вставьте это в профиль ~/.bashrc и ~/.bash _от имени пользователя root.

# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi

2
27.01.2020, 20:11

Теги

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