Почему b= `ветка git `отличается от просто ветки git

Вы должны использовать dircolors, чтобы персонализировать цвета, используемые ls.

dircolors -p > dircolors.txt

выводит базу данных цветов в более -или -менее удобочитаемой -форме и сохраняет ее в dircolors.txt, которую затем можно отредактировать для настройки параметров. Вы увидите ряд настроек цвета для «основных типов файлов», которые соответствуют diи т. д.; вы можете изменить цвета, связанные с ними, но вы не можете добавлять свои собственные типы. Вы также увидите расширения файлов (, начинающиеся с.)и соответствующие цвета; здесь вы можете добавить свои собственные расширения. Как только вы закончите, запустите

dircolors dircolors.txt

для создания соответствующего значения LS_COLORS, которое вы должны установить в сценариях запуска вашей оболочки. Порядок расширений на самом деле не имеет значения, поскольку у вас должен быть только один параметр цвета для каждого расширения.

Вы также можете сохранить определения цветов напрямую, если хотите, и запустить

eval $(dircolors -b /path/to/dircolors.txt)

в сценариях запуска. (Если вы используете этот подход, имеет смысл хранить цвета в ~/.dircolors.)

-1
31.08.2020, 12:24
1 ответ

git branch указывает текущую ветвь с помощью *. Когда вы бежите

b=`git branch`; echo $b

поскольку $bиспользуется без кавычек с echo, этот *расширяется оболочкой, показывая файлы в текущем каталоге. Цитирование позволит избежать этого:

b=`git branch`; echo "$b"
7
18.03.2021, 23:08

Теги

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