0

我有以下文件夹结构:

FolderA
-FolderA1 (child of FolderA), and 
-FolderA2 (child of FolderA)

现在,文件夹 A1 和 A2 是 git 存储库。当我处于文件夹级别时,我正在编写一个脚本来获取两个文件夹的 git 存储库 URL。

我试过类似的东西:

cd FolderA

git remote -v | awk -F ' ' '{ print $2 }' | sort -u | cd FolderA1

git remote -v FolderA1\ | awk -F ' ' '{ print $2 }' | sort -u

但这似乎不起作用。知道如何获取 FolderA1 / Folder A2 的 URL 吗?

在此先感谢 RKS

4

1 回答 1

1

就个人而言,我会这样做(需要 bash 4 来支持关联数组):

get_subdir_urls() {
  local oldwd subdir url idx
  [[ $1 ]] && { oldwd=$PWD; cd "$1"; }
  for subdir in */.git; do
    (
     declare -A urls
     cd "${subdir%.git}" && \
       while read _ url _; do
         urls[$url]="${subdir%.git}"
       done < <(git remote -v)
     for idx in "${!urls[@]}"; do
       printf '%s\t%s\n' "${urls[$idx]}" "$idx"
     done
    )
  done
  [[ $1 ]] && cd "$oldwd"
}

# usage:
get_subdir_urls FolderA
于 2013-01-16T20:06:06.443 回答