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