現在のディレクトリが次のようにテストできます。
[[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == true ]] && echo yes
.. しかし、現在の作業ディレクトリではないディレクトリで同じ作業をどのように実行しますか?
ベストアンサー1
ただ使用-C
グローバルオプションgit
。これでコードを単純化します(戻り状態に直接エンコードされた情報を再構成するために出力を解析するのはなぜですか?)。
directory=. # or wherever
if git -C "$directory" rev-parse --is-inside-work-tree >/dev/null 2>/dev/null; then
echo yes
fi