91 lines
2.4 KiB
Bash
91 lines
2.4 KiB
Bash
|
|
||
|
#Read the fucking manual
|
||
|
rtfm() { help $@ || info $@ || man $@ || curl "http://cheat.sh/$@"; }
|
||
|
# Get your public IP
|
||
|
extip(){ ip=$(curl -s http://api.ipify.org);
|
||
|
echo "Public IP address is $ip"
|
||
|
}
|
||
|
|
||
|
# Cheatsheet for linux commands
|
||
|
ch() { curl "http://cheat.sh/$@"; }
|
||
|
|
||
|
# You can go to noti.toad.city and generate your own code to get browser notifications. It's all explained there. You'll need to modify this value
|
||
|
notica() { curl --data "d:$*" "https://noti.toad.city/?VFvu53" ; }
|
||
|
|
||
|
# Countdown Timer
|
||
|
countdown() {
|
||
|
start="$(( $(date '+%s') + $1))"
|
||
|
while [ $start -ge $(date +%s) ]; do
|
||
|
time="$(( $start - $(date +%s) ))"
|
||
|
printf '%s\r' "$(date -u -d "@$time" +%H:%M:%S)"
|
||
|
sleep 0.1
|
||
|
done
|
||
|
}
|
||
|
# Random quote to avoid making useful commit messages
|
||
|
function rgcm() {
|
||
|
api="https://whatthecommit.com/index.txt"
|
||
|
message=$(curl -s $api)
|
||
|
if [[ -z $message ]]; then
|
||
|
echo "Error: Failed to retrieve a random commit message"
|
||
|
return 1
|
||
|
fi
|
||
|
git add .
|
||
|
git commit -m "$message"
|
||
|
echo "Git commit submitted with message: $message"
|
||
|
}
|
||
|
function cntdn() {
|
||
|
local count=$1
|
||
|
while [ $count -gt 0 ]; do
|
||
|
echo -en "\n$count... "
|
||
|
if [ $count -eq 3 ]; then
|
||
|
echo "You've still got a few seconds to live it up before your time runs out!"
|
||
|
elif [ $count -eq 2 ]; then
|
||
|
echo "Tick-tock, tick-tock, time's running out!"
|
||
|
elif [ $count -eq 1 ]; then
|
||
|
echo "You had a good run, but it's time to face the music!"
|
||
|
fi
|
||
|
sleep 1
|
||
|
((count--))
|
||
|
done
|
||
|
echo "Time's up!"
|
||
|
}
|
||
|
|
||
|
function ramdisk() {
|
||
|
if [ -z "$1" ]; then
|
||
|
echo "Error: Ramdisk size not specified."
|
||
|
return 1
|
||
|
fi
|
||
|
if [ ! -d "$HOME/ramdown" ]; then
|
||
|
mkdir "$HOME/ramdown"
|
||
|
fi
|
||
|
|
||
|
size="$1"
|
||
|
|
||
|
sudo mount -t tmpfs -o size="$size" tmpfs "$HOME/ramdown"
|
||
|
}
|
||
|
|
||
|
ipin() {
|
||
|
local ip=$1
|
||
|
local endpoint="https://ipinfo.io"
|
||
|
# Append IP to the endpoint if provided
|
||
|
if [[ -n $ip ]]; then
|
||
|
endpoint+="/$ip"
|
||
|
fi
|
||
|
endpoint+="/json?token=4ea2457429bf23"
|
||
|
# Make the API call and prettify the JSON response
|
||
|
curl -s "$endpoint" | jq .
|
||
|
}
|
||
|
# Tere function
|
||
|
tere() {
|
||
|
local result=$(command tere "$@")
|
||
|
[ -n "$result" ] && cd -- "$result"
|
||
|
}
|
||
|
# Compress files. Like the name says.
|
||
|
function compress_files() {
|
||
|
if [ -z "$1" ]; then
|
||
|
echo "Usage: compress_files <archive_name.zip> <file1> <file2> ..."
|
||
|
else
|
||
|
zip -r "$1" "${@:2}"
|
||
|
fi
|
||
|
}
|