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?
11 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