-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunctions
More file actions
34 lines (28 loc) · 922 Bytes
/
functions
File metadata and controls
34 lines (28 loc) · 922 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash
mkcd() {
if [ -z "$1" ]; then
echo "Enter a directory name"
elif [ -d "$1" ]; then
echo "\`$1' already exists"
else
mkdir -p "$1" && cd "$1" || exit 1
fi
}
gitclone () {
url=$1;
reponame=$(echo "$url" | awk -F/ '{print $NF}' | sed -e 's/.git$//');
git clone "$url" "$reponame";
cd "$reponame" || exit;
}
gitcleanbr () {
! git branch -d "$(git branch --merged | grep -v '^*\\|main\\|master\\|staging\\|dev\\|develop')"
}
listr() {
local current="$1" ; for key in $(vault list "$current" | tail +3 | grep '[^/]$') ; do echo "$current${key}" ; vault read "$current${key}" ; done ; for subdir in $(vault list "$current" | tail +3 | grep '/$') ; do echo "$current${subdir}" ; listr "$current${subdir}" ; done
}
command_exists() {
command -v "$@" >/dev/null 2>&1
}
brew_exists() {
brew ls --versions "$1" &> /dev/null || brew ls --versions "$1" --cask &> /dev/null
}