Skip to content

Commit

Permalink
fix delete read command
Browse files Browse the repository at this point in the history
  • Loading branch information
dcat23 committed Mar 18, 2023
1 parent 5204bdd commit db6c498
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 31 deletions.
59 changes: 28 additions & 31 deletions alias_cli.sh
Original file line number Diff line number Diff line change
@@ -1,53 +1,50 @@
export ALIAS_COMMANDS_FILE="$HOME/AliasCLI/aliases"
source "$ALIAS_COMMANDS_FILE"

function al() {
if [[ $1 == "-h" ]]; then
echo "al -h : show this help page"
echo "al : list all aliases"
echo "al <string> : list aliases containing <string>"
echo "al -d <string> : delete aliases containing <string>"
echo "al -D <string> : delete aliases containing <string> without confirmation"
echo "al -v <string> : view command for an alias"
echo "al -h : show this help page"
echo "al : list all aliases"
echo "al <string> : list aliases containing <string>"
echo "al -d <string> : delete aliases containing <string>"
echo "al -v <string> : view command for an alias"
echo "al <alias> <command> : create a new alias or update an existing one"
return 0
fi

if [[ $# -eq 0 ]]; then
grep "^alias" ~/.zsh_aliases | sed 's/^alias //g'
grep "^alias" "$ALIAS_COMMANDS_FILE" | sed 's/^alias //g'
elif [[ $# -eq 1 ]]; then
grep "$1" ~/.zsh_aliases | sed 's/^alias //g'
elif [[ $1 == "-d" ]]; then
if [[ $# -lt 2 ]]; then
echo "Please specify an alias to delete"
return 1
fi
if [[ $2 == "-D" ]]; then
confirmation="y"
shift
else
read -p "Delete aliases containing \"$2\"? (y/n) " confirmation
fi
if [[ $confirmation =~ ^[Yy]$ ]]; then
sed -i.bak "/^alias .*=$2/d" ~/.zsh_aliases
echo "Deleted aliases containing \"$2\""
fi
grep "$1" "$ALIAS_COMMANDS_FILE" | sed 's/^alias //g'
elif [[ $1 == "-v" ]]; then
command=$(grep "alias $2=" ~/.zsh_aliases | sed "s/alias $2='\(.*\)'$/\1/")
command=$(grep "alias $2=" "$ALIAS_COMMANDS_FILE" | sed "s/alias $2='\(.*\)'$/\1/")
if [[ -n $command ]]; then
echo "$2 -> $command"
else
echo "No command found for alias: \"$2\""
fi
elif [[ $1 =~ ^-[Dd]$ ]]; then
if [[ $# -lt 2 ]]; then
echo "Please specify an alias to delete"
return 1
fi
echo "Delete alias '$2'? [y/n]" && read
if [[ $REPLY =~ ^[Yy]$ ]]; then
sed -i.bak "/^alias $2=.*/d" "$ALIAS_COMMANDS_FILE"
echo "Deleted alias $2"
fi
elif [[ $# -eq 2 ]]; then
if grep -q "^alias $1=" ~/.zsh_aliases; then
existing_command=$(grep "^alias $1=" ~/.zsh_aliases | sed "s/^alias $1='\(.*\)'$/\1/")
if grep "^alias $1=" "$ALIAS_COMMANDS_FILE"; then
existing_command=$(grep "^alias $1=" "$ALIAS_COMMANDS_FILE" | sed "s/^alias $1='\(.*\)'$/\1/")
echo "Alias \"$1\" already exists: \"$existing_command\""
read -p "Update to \"$2\"? (y/n) " -r
echo
echo "Update to \"$2\"? (y/n) "
read
if [[ $REPLY =~ ^[Yy]$ ]]; then
sed -i.bak "/^alias $1=\"/d" ~/.zsh_aliases
echo "alias $1=\"$2\"" >> ~/.zsh_aliases
sed -i.bak "/^alias $1=\"/d" "$ALIAS_COMMANDS_FILE"
echo "alias $1=\"$2\"" >> "$ALIAS_COMMANDS_FILE"
fi
else
echo "alias $1=\"$2\"" >> ~/.zsh_aliases
echo "alias $1=\"$2\"" >> "$ALIAS_COMMANDS_FILE"
fi
else
echo "Invalid arguments"
Expand Down
1 change: 1 addition & 0 deletions aliases
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,4 @@ alias aws-id="aws sts get-caller-identity --query Account --output text"
alias gcloud="~/Downloads/installers/google-cloud-sdk/bin/gcloud"
# alias am="aws-vault exec cyborg -- aws"

alias maker="this too"
49 changes: 49 additions & 0 deletions aliases.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# ALIAS COMMANDS

# directories
alias doc="cd ~/Documents/"
alias dow="cd ~/Downloads/"
alias des="cd ~/Desktop/"
alias hh="cd ~/"
alias co="code ."
alias xcode="open -a Xcode"
alias zshal="code ~/.zsh_aliases"
alias mvsc="mv Screen\ Shot* ~/Documents/screenshots"

# system
alias ee="logout"
alias py="python3"

# git
alias cl="git clone"
alias st="git status"
alias br="git branch -v"
alias ck="git checkout"
alias br="git branch -v"
alias cm="git commit -m"
alias am="git commit -am"
alias ga="git add"
alias gr="git remote -v"
alias lg="git log"
alias re="git restore"
alias dff="git diff"
alias psh="git push"
alias pll="git pull"

# yarn
alias yb="yarn build"
alias yt="yarn test"
alias yd="yarn dev"
alias ya="yarn add"
alias ys="yarn start"

# npx
alias ignite="npx ignite-cli@latest"

# cloud
alias vpn="ssh -i '~/Downloads/pem/vpnserver.pem' [email protected] -D 4444"
alias aws-id="aws sts get-caller-identity --query Account --output text"
alias gcloud="~/Downloads/installers/google-cloud-sdk/bin/gcloud"
# alias am="aws-vault exec cyborg -- aws"

alias maker="something different"

0 comments on commit db6c498

Please sign in to comment.