Loading...
More Shell Posts
#!/bin/bashgit statusecho "Do you want to add all changed files?"select yn in "Yes" "No"; docase $yn inYes ) break;;No ) exit 1;;esacdonegit add -ugit statusecho "Does this look right?"select yn in "Yes" "No"; docase $yn inYes ) break;;No ) exit 2;;esacdonegit commitecho "Do you want to push?"select yn in "Yes" "No"; docase $yn inYes ) break;;No ) exit 2;;esacdonegit push
#!/bin/bashfor branch in $(git branch | cut -c 3-); doread -p "Delete local branch $branch? (y/n) " -n 1 -recho ""if [[ $REPLY =~ ^[Yy]$ ]]; thengit branch -D $branchfidone
#pinger.sh by Leif Messinger#./pinger.sh [ADDRESS] to search#./pinger.sh [ADDRESS] & to search in the background#https://serverfault.com/a/42382ping_cancelled=false # Keep track of whether the loop was cancelled, or succeededuntil ping -c1 "$1" >/dev/null 2>&1; do :; done & # The "&" backgrounds ittrap "kill $!; ping_cancelled=true" SIGINTwait $! # Wait for the loop to exit, one way or anothertrap - SIGINT # Remove the trap, now we're done with itif [ "$ping_cancelled" == true ] #https://stackoverflow.com/a/21210966/10141528thenprintf "The pinger for $1 just closed bro.\n"elseprintf "$1 IS UP BROOO\a\n"fi
#Leif Messinger#For when you want to search a lot of words in a file fast#Arg 1 is the argument the list of words you want to search#Arg 2 is the file you want to search#-z means that it looks at the file as a whole, just treating newlines a characters.#-r is regex. Needed for $, even tho the documentation says you don't need it. They are liars.#First command replaces all . with \. and all - with \-#Second command takes all newlines and replaces them with )|(#Third command takes the trailing |( and deletes it#Forth command puts a /( at the start#Fith command puts /!d at the end. This tells it to not delete any lines that match the pattern.#The second sed takes the output of the first sed as a command that searches any of the combined words#-f - takes a command from the inputsed -z -r -e 's/\./\\\./g ; s/\-/\\\-/g' -e 's/\n/\)\|\(/g' -e 's/\|\($//' -e 'i/\(' -e 'a/!d' $1 | sed -r -f - $2
#diskRipper.sh by Leif Messinger#For use on debian, where your cds aren't immediately mountedwall "CD inserted boss"set -x #echo oncdDrivePath=$(ls -l /dev/cdrom | awk '{print $NF}')#CD could have no label, so that's why I need awkcdLabel=$(lsblk -n "/dev/$cdDrivePath" -o label)if [[ ! -z "$cdLabel" ]]; then #CD has labelfolderName=$cdLabelecho "The cd label is ${folderName}"if mkdir ./cds/"${folderName}"; then #Folder didn't exist beforesudo mount /dev/cdrom ./.cdmountpointsudo cp -r ./.cdmountpoint/* "./cds/${folderName}"sudo chmod -R 777 "./cds/${folderName}"sudo umount ./.cdmountpointejectwall "CD done and ejecting"elsewall "Already read that cd, skipped"fielsewall "CD had no label, skipped"fi
#!/bin/bash#Takes command line arguments and pulls the header files.#Good for checking if the function you want is in the header or not.#cppToStdout.sh "time.h"while [ "$1" != "" ]; doecho "#include<$1>" | g++ -x c++ -E -shiftdone