Отображение информации командной строки (PS1) для набора каталогов

Шаблон ^172. [1-3][6-9]|[0-1] соответствует таким вещам, как

172x39
40

последнее, потому что вы сопоставляете все, что имеет 0 или 1 в первом поле.

Вам нужно изменить . на \. , чтобы это была буквальная точка, вам нужно ввести группировку и вам нужен лучший шаблон.

 ^172\.(1[6-9]|2[0-9]|3[0-1])\.
1
25.09.2017, 08:39
2 ответа
for rep in */; do
    printf '%s:\t' "$rep"
    ( cd "$rep" && git status --short --branch --untracked-files=no )
done

или, используя короткие варианты,

for rep in */; do
    printf '%s:\t' "$rep"
    ( cd "$rep" && git status -sbuno )
done

Это переходит в каждый каталог в текущем каталоге и запускает данную команду git status. Вывод может выглядеть примерно так

gnomad_browser/:        ## master...origin/master
swefreq-browser/:       ## gnomad-remerge...origin/gnomad-remerge
swefreq-config/:        ## develop...origin/develop
swefreq/:       ## feature/schema-update...origin/feature/schema-update
 M sql/swefreq.sql

(У меня есть незафиксированный файл в репозитории swefreq)

Параметры, выбранные для git statusздесь, будут отображать только текущую ветвь и любые измененные файлы, но вы можете легко изменить его, чтобы отображались неотслеживаемые файлы, удалив -unoили --untracked-files=no.

См. git status --help.


Ваша идея использовать подсказку для отображения информации о каждом каталоге может работать в зависимости от того, как настроена подсказка.Мое приглашение представляет собой одну строку -в кавычках, которая должна быть оценена:

for rep in */; do
    ( cd "$rep" && eval echo "$PS1" )
done

Я не думаю, что это очень красивое решение, и оно также не очень гибкое в том, что оно может делать и рассказывать вам о каждом репозитории.

1
27.01.2020, 23:33

Глядя на о -мой -git, кажется, вам нужно сделать что-то подобное в сценарии оболочки:

#!/bin/bash
source ~/.oh-my-git/prompt.sh
for d in dir1 dir2...
do cd "$d"
   pwd
   bash_prompt      # recalculate PS1 value
   echo -en "$PS1"
done
1
27.01.2020, 23:33

Теги

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