Skip to content

Instantly share code, notes, and snippets.

@erdincay
Last active March 14, 2024 21:00
Show Gist options
  • Save erdincay/4f1d2e092c50e78ae1ffa39d13fa404e to your computer and use it in GitHub Desktop.
Save erdincay/4f1d2e092c50e78ae1ffa39d13fa404e to your computer and use it in GitHub Desktop.
su GitHub (downloading all repositories from a given user)
#!/bin/bash
if [ -z "$1" ]; then
echo "waiting for the following arguments: username + max-page-number"
exit 1
else
name=$1
fi
if [ -z "$2" ]; then
max=2
else
max=$2
fi
cntx="users"
page=1
echo $name
echo $max
echo $cntx
echo $page
until (( $page -lt $max ))
do
curl "https://api.github.com/$cntx/$name/repos?page=$page&per_page=100" | grep -e 'clone_url*' | cut -d \" -f 4 | xargs -L1 git clone
$page=$page+1
done
exit 0
@dkgndianko
Copy link

I did a similar thing with gh command.
You can see it there.

@Ricecr
Copy link

Ricecr commented Jul 2, 2023

"This is another solution":
page=$((page+1))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment