現在の作業ディレクトリとそのサブディレクトリで、git リポジトリのルートであるか、git によってまったく追跡されていないすべてのディレクトリを検索したいと考えています。
そのために、次の bash スクリプトを作成しました。
#!/bin/bash
export FOUND_UNTRACKED=0
export FOUND_TRACKED=
find . -type d \( \( -exec test -d {}\.git \; -exec /bin/bash -c "export FOUND_TRACKED=$1:$FOUND_TRACKED" {} \; -prune \) -o -exec echo Untracked directory: {} \; -exec /bin/bash -c "export FOUND_UNTRACKED=1" \; \)
echo $FOUND_UNTRACKED
echo $FOUND_TRACKED
検索は正常に機能しますが、残念ながら、exec 内の環境変数への変更は反映されません。つまり、FOUND_TRACKED
常に空で、FOUND_UNTRACKED
0 です。
これを機能させる方法はありますか?