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
 | 
						|
}
 |