add some bash functions
This commit is contained in:
75
functions
Normal file
75
functions
Normal file
@@ -0,0 +1,75 @@
|
||||
#Docker: bash into running Docker container
|
||||
dockerbash() {
|
||||
docker exec -it $1 bash
|
||||
}
|
||||
|
||||
#Docker: bash into running Docker container
|
||||
dockerlog() {
|
||||
docker logs -f $1
|
||||
}
|
||||
|
||||
# Simple calculator
|
||||
function calc() {
|
||||
local result="";
|
||||
result="$(printf "scale=10;$*\n" | bc --mathlib | tr -d '\\\n')";
|
||||
# └─ default (when `--mathlib` is used) is 20
|
||||
#
|
||||
if [[ "$result" == *.* ]]; then
|
||||
# improve the output for decimal numbers
|
||||
printf "$result" |
|
||||
sed -e 's/^\./0./' `# add "0" for cases like ".5"` \
|
||||
-e 's/^-\./-0./' `# add "0" for cases like "-.5"`\
|
||||
-e 's/0*$//;s/\.$//'; # remove trailing zeros
|
||||
else
|
||||
printf "$result";
|
||||
fi;
|
||||
printf "\n";
|
||||
}
|
||||
|
||||
# Create a new directory and enter it
|
||||
function mcd() {
|
||||
mkdir -p "$@" && cd "$_";
|
||||
}
|
||||
|
||||
# Run `dig` and display the most useful info
|
||||
function digga() {
|
||||
dig +nocmd "$1" any +multiline +noall +answer;
|
||||
}
|
||||
|
||||
# Search in bash history
|
||||
function his() {
|
||||
history | grep --color=auto -i "$1";
|
||||
}
|
||||
|
||||
# Decompress just about any compressed file format
|
||||
function extract {
|
||||
if [ -z "$1" ]; then
|
||||
# display usage if no parameters given
|
||||
echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
|
||||
else
|
||||
if [ -f $1 ] ; then
|
||||
# NAME=${1%.*}
|
||||
# mkdir $NAME && cd $NAME
|
||||
case $1 in
|
||||
*.tar.bz2) tar xvjf ../$1 ;;
|
||||
*.tar.gz) tar xvzf ../$1 ;;
|
||||
*.tar.xz) tar xvJf ../$1 ;;
|
||||
*.lzma) unlzma ../$1 ;;
|
||||
*.bz2) bunzip2 ../$1 ;;
|
||||
*.rar) unrar x -ad ../$1 ;;
|
||||
*.gz) gunzip ../$1 ;;
|
||||
*.tar) tar xvf ../$1 ;;
|
||||
*.tbz2) tar xvjf ../$1 ;;
|
||||
*.tgz) tar xvzf ../$1 ;;
|
||||
*.zip) unzip ../$1 ;;
|
||||
*.Z) uncompress ../$1 ;;
|
||||
*.7z) 7z x ../$1 ;;
|
||||
*.xz) unxz ../$1 ;;
|
||||
*.exe) cabextract ../$1 ;;
|
||||
*) echo "extract: '$1' - unknown archive method" ;;
|
||||
esac
|
||||
else
|
||||
echo "$1 - file does not exist"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user