найти каталог с подстановочным знаком и запустить git status not working

Из страницы руководства bash выделено курсивом:

wait

wait [-n] [jobspec или pid…]

Подождите, пока дочерний процесс, указанный в каждом pid идентификатора процесса или спецификации задания, не завершится и не вернет статус выхода последней ожидаемой команды.

Думаю, вы потеряли фоновый символ & :

sleep 5; exit5 = $? & PID5 = $ !; ждать $ PID5; echo $ ?; echo $ exit5

Спящий режим на 5 секунд; как только это будет сделано, установите (нулевой) код выхода в exit5 в качестве фонового процесса; установить идентификатор задания для этого назначения в PID5 ; затем дождитесь завершения этого задания; присвоение завершилось успешно, поэтому echo показывает этот ноль; то последнее эхо показывает пустую строку, поскольку фоновый процесс (подоболочка) завершился, оставив переменную exit5 неназначенной (пустой).

Возможно, это та ситуация, в которой вы собирались?

sleep 5 & PID5 = $ !; ждать $ PID5; exit5 = $ ?; echo $ exit5

Перевести сна 5 в фоновый режим, сохранив его PID в PID5 . Подождите, пока процесс завершится, затем запишите его код возврата в exit5 , затем повторите сохраненный код возврата.

1
07.04.2017, 19:04
1 ответ

При использовании -execdir команда выполняется в каталоге, содержащем совпадение, т.е. в родительском каталоге каталога, имя которого начинается с "iptp".

Вместо этого можно искать .git с путем, совпадающим с iptp*:

find -maxdepth 2 -type -d -name .git -path "*/iptp*/*" -execdir git status \;
3
27.01.2020, 23:24

Теги

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