• Mar 7, 2021 •LeifMessinger
0 likes • 12 views
#!/bin/bash #makefileMaker.sh by Leif Messinger #Needs getDependencies.sh CC="gcc" #I have no idea why it's called CXX when it's a c++ compiler #I know that cpp is c pre processor, but still, why X? CXX="g++" CXXFLAGS="-std=c++17 -O2" #CFLAGS="-std=c17" LIBRARIES="$@" #Vulkan Flags for me #LIBRARIES="-lglfw -lvulkan -ldl -lpthread -lX11 -lXxf86vm -lXrandr -lXi" function compileAllFiles(){ #output: bruh.o yeet.o # CXX $CXXFLAGS bruh.o yeet.o -o output $LIBRARIES echo -n "output:" if compgen -G "*.cpp" &> /dev/null; then for f in *.cpp; do echo -n " ${f%.cpp}.o" done fi if compgen -G "*.c" &> /dev/null; then for f in *.c; do echo -n " ${f%.c}.o" done fi echo "" if compgen -G "*.cpp" &> /dev/null; then echo -e -n "\t$CXX $CXXFLAGS " else echo -e -n "\t$CC $CFLAGS " fi if compgen -G "*.cpp" &> /dev/null; then for f in *.cpp; do echo -n " ${f%.cpp}.o" done fi if compgen -G "*.c" &> /dev/null; then for f in *.c; do echo -n " ${f%.c}.o" done fi echo " -o output $LIBRARIES" echo "" } function compileAllObjectFiles(){ #bruh.o: bruh.cpp yeet.h # CXX $CXXFLAGS -c bruh.cpp $LIBRARIES if compgen -G "*.cpp" &> /dev/null; then for f in *.cpp; do echo -n "${f%.cpp}.o: $f" getDependencies.sh < $f echo "" echo -e "\t$CXX $CXXFLAGS -c $f" echo "" done fi #yeet.o: yeet.c # CC $CFLAGS -c yeet.c $LIBRARIES if compgen -G "*.c" &> /dev/null; then for f in *.c; do echo -n "${f%.c}.o: $f" getDependencies.sh < $f echo "" echo -e "\t$CC $CFLAGS -c $f" echo "" done fi } compileAllFiles compileAllObjectFiles #does not work on windows echo "clean:" echo -e "\trm -f -v *.o output" echo "" echo "run:" echo -e "\t./output" echo "" echo "debug:" if compgen -G "*.cpp" &> /dev/null; then echo -e -n "\t$CXX $CXXFLAGS -g " else echo -e -n "\t$CC $CFLAGS -g " fi if compgen -G "*.cpp" &> /dev/null; then for f in *.cpp; do echo -n " ${f}" done fi if compgen -G "*.c" &> /dev/null; then for f in *.c; do echo -n " ${f}" done fi echo " $LIBRARIES -o output" echo ""
• Jan 12, 2023 •LeifMessinger
0 likes • 5 views
#!/bin/bash #Originally made by Isaac Cook https://gist.github.com/icook/5400173 #Modified by Leif Messinger #upload_key.sh [server_ip [server2_ip [...]]] #To be run locally on a linux computer if [ -e ~/.ssh/id_rsa.pub ]; then echo "SSH Key already exists on local machine" else echo "Generating SSH key on local machine" ssh-keygen -t rsa #generates id_rsa and id_rsa.pub chmod -R 700 ~/.ssh #Sets permissions of ssh folder ssh-add #Adds keys (and passwords?) to ssh_agent. (hopefully doesn't require password) fi echo "Loading client public key into memory" pubKey=$(<~/.ssh/id_rsa.pub) for server do echo "Adding client public key to $server remote server authorized keys" #Idiot Isaac Cook didn't know about ssh-copy-id #ssh-copy-id even checks if your key already exists #In fairness, I didn't either until researching ssh-add ssh-copy-id -i ~/.ssh/id_rsa.pub $server #In theory, this should prompt for a username #ssh $server "mkdir -p ~/.ssh; #Make the folder if not already made # echo \"$pubKey\" >> ~/.ssh/authorized_keys; #Append your public key to the server's authorized_keys # chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys" #Set the correct permissions of those files #echo "Adding server public key to local authorized keys" #ssh $server "ssh-copy-id -i ~/.ssh/id_rsa.pub \$SSH_CLIENT" #this might need some awk, as $SSH_CLIENT spits out clientip portnumber echo "Displaying server public key" ssh $server "cat ~/.ssh/id_rsa.pub" #Though, he did give me a good idea echo "Displaying keys authorized on $server (you can paste them in your authorized_keys file)" ssh $server "cat ~/.ssh/authorized_keys" #echo "Appending keys authorized on $server to your local authorized_keys" #ssh $server "cat ~/.ssh/authorized_keys" >> ~/.ssh/authorized_keys done echo "SSH keys schronized successfully!"
• May 20, 2024 •AustinLeath
0 likes • 15 views
#!/bin/sh BAT_LOW=15 BAT_CRITICAL=5 if [ "$1" = "--help" ] then printf " Usage: \tbattery_check.sh warning%% hibernate%% Description: \tA script for notifying the user via dunst and logging when \tthe battery is low and the system is going to hibernate. \tCan be supplied arguments for the battery low warning and \thibernation percentage thresholds as the first and second arguments. \t Default behavior is to warn at 15% and hibernate at 5%." exit fi if [[ -n "$1" && -n "$2" && $1 -gt $2 ]] then BAT_LOW=$1 BAT_CRITICAL=$2 fi acpi -b | awk -F'[,:%]' '{print $2, $3}' | { read -r status capacity echo Low threshold: $BAT_LOW, Hibernate threshold: $BAT_CRITICAL echo Status: $status, Capacity: $capacity if [ "$status" = Discharging -a "$capacity" -le $BAT_CRITICAL ]; then echo Battery critical threshold. dunstify -u critical "Critical battery threshold, hibernating..." logger "Critical battery threshold, hibernating..." sleep .5 systemctl hibernate exit fi if [ "$status" = Discharging -a "$capacity" -le $BAT_LOW ]; then echo Battery low threshold. dunstify -u critical 'Battery low! System will hibernate at 5%.' logger 'Battery low! System will hibernate at 5%.' sleep .5 light -S 15 exit fi }
• Oct 9, 2023 •C S
0 likes • 183 views
# Update all npm packages under the scope defined by the PREFIX variable ("foo"). PREFIX="foo"; npm ls | grep "$PREFIX" | awk -F/ '{print $NF}' | sed 's/@.*//' | xargs -I package npm update @"$PREFIX"/package
• Dec 23, 2024 •AustinLeath
0 likes • 29 views
#!/bin/bash # RCLONE BACKUP SCRIPT (using ionice) # Type crontab -e and copy the line below without the # # 0 0 * * * ionice -c 3 /home/owner/backup.sh >/dev/null 2>&1 nowdate=$(date -u) # OPTIONS WEBHOOK="YOUR_DISCORD_WEBHOOK_LINK_HERE" LOGFILE="/root/backup.log" FROM="/path/where/you/backup/from" TO="backblaze:BucketName/FolderName" SERVERNAME="Server Name" echo "$SERVERNAME started a backup - $nowdate" | tee -a $LOGFILE curl --data "content=$SERVERNAME started a backup - $nowdate" $WEBHOOK | tee -a $LOGFILE && echo "" >> $LOGFILE if pidof -o %PPID -x "backup.sh" then echo "Failed backup attempt on $SERVERNAME - $nowdate (rclone already running)" | tee -a $LOGFILE curl --data "content=Failed backup attempt on $SERVERNAME - $nowdate (rclone already running)" $WEBHOOK | tee -a $LOGFILE exit 1 fi rclone sync $FROM $TO -P --b2-hard-delete --stats 5s --progress | sed 's/Transferred:/\n\nTransferred:/' | tee -a $LOGFILE enddate=$(date -u) endtime=$(date +'%T') echo "Completed backup on $SERVERNAME - $enddate" | tee -a $LOGFILE curl -F "content=Completed backup on $SERVERNAME - $enddate" -F upload=@"$LOGFILE" $WEBHOOK | tee -a $LOGFILE if [ -f $LOGFILE ] then rm $LOGFILE fi
• Nov 4, 2023 •LeifMessinger
0 likes • 9 views
#!/bin/bash git status echo "Do you want to add all changed files?" select yn in "Yes" "No"; do case $yn in Yes ) break;; No ) exit 1;; esac done git add -u git status echo "Does this look right?" select yn in "Yes" "No"; do case $yn in Yes ) break;; No ) exit 2;; esac done git commit echo "Do you want to push?" select yn in "Yes" "No"; do case $yn in Yes ) break;; No ) exit 2;; esac done git push