#!/bin/bash # shellcheck disable=2162 function delete_local_branch() { git branch -D "$1" } function delete_remote_branch() { git push origin --delete "$1" } function list_of_the_branches() { echo echo "List of branches:" echo -e "$(git branch)" echo } BRANCH="$1" while true; do [ -z "$BRANCH" ] && { list_of_the_branches read -p "Select branch to remove: " BRANCH } echo "$BRANCH" read -p "Remove locally / remote / both [L/R/B]: " CHOOSE case $CHOOSE in [Bb]*) delete_local_branch "$BRANCH" delete_remote_branch "$BRANCH" unset -f BRANCH ;; [Ll]*) delete_local_branch "$BRANCH" unset -f BRANCH ;; [Rr]*) delete_remote_branch "$BRANCH" unset -f BRANCH ;; *) echo "Please write good answer" ;; esac done