Bash function to open git repository with browser

I'm trying to create a bash function so I can get this.

The user, via terminal, goes to the git project path like:

/home/daniel/projects/my_super_project

So the user will type open and the browser will open in the github.com like:

So far I have this code:

function teste { if [ -d .git ]; then remotes=$(git remote -v | awk -F':' '{print $2}' | cut -d" " -f1) url="" url="$url$($remotes | cut -d" " -f1)" # here I'll open the browser else # git rev-parse --git-dir 2> /dev/null; echo "Not a git repo" fi;
}

I check if there is a .git folder, if so, I look for the remote origin and get its value that is inside the remote_url. I was trying to concatenate the with the remote_url but no success because the terminal think it is a path so I get this:

bash: bla/my_super_project.git: No such file or directory

How can I concatenate these two values?

1

1 Answer

Problem solved:

function opengit { if [ -d .git ]; then remotes=$(git remote -v | awk -F':' '{print $2}' | cut -d" " -f1) if [ -z "$remotes" ]; then remotes=$(git remote -v | awk -F' '{print $2}' | cut -d" " -f1) fi remote_url=$(echo $remotes | cut -d" " -f1) url="" url="${url}${remote_url}" xdg-open $url else echo "Not a git repo" fi;
}
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like