-
Star
(481)
You must be signed in to star a gist -
Fork
(371)
You must be signed in to fork a gist
-
-
Save bradtraversy/ac3b1136fc7d739a788ad1e42a78b610 to your computer and use it in GitHub Desktop.
| #! /bin/bash | |
| # ECHO COMMAND | |
| # echo Hello World! | |
| # VARIABLES | |
| # Uppercase by convention | |
| # Letters, numbers, underscores | |
| NAME="Bob" | |
| # echo "My name is $NAME" | |
| # echo "My name is ${NAME}" | |
| # USER INPUT | |
| # read -p "Enter your name: " NAME | |
| # echo "Hello $NAME, nice to meet you!" | |
| # SIMPLE IF STATEMENT | |
| # if [ "$NAME" == "Brad" ] | |
| # then | |
| # echo "Your name is Brad" | |
| # fi | |
| # IF-ELSE | |
| # if [ "$NAME" == "Brad" ] | |
| # then | |
| # echo "Your name is Brad" | |
| # else | |
| # echo "Your name is NOT Brad" | |
| # fi | |
| # ELSE-IF (elif) | |
| # if [ "$NAME" == "Brad" ] | |
| # then | |
| # echo "Your name is Brad" | |
| # elif [ "$NAME" == "Jack" ] | |
| # then | |
| # echo "Your name is Jack" | |
| # else | |
| # echo "Your name is NOT Brad or Jack" | |
| # fi | |
| # COMPARISON | |
| # NUM1=31 | |
| # NUM2=5 | |
| # if [ "$NUM1" -gt "$NUM2" ] | |
| # then | |
| # echo "$NUM1 is greater than $NUM2" | |
| # else | |
| # echo "$NUM1 is less than $NUM2" | |
| # fi | |
| ######## | |
| # val1 -eq val2 Returns true if the values are equal | |
| # val1 -ne val2 Returns true if the values are not equal | |
| # val1 -gt val2 Returns true if val1 is greater than val2 | |
| # val1 -ge val2 Returns true if val1 is greater than or equal to val2 | |
| # val1 -lt val2 Returns true if val1 is less than val2 | |
| # val1 -le val2 Returns true if val1 is less than or equal to val2 | |
| ######## | |
| # FILE CONDITIONS | |
| # FILE="test.txt" | |
| # if [ -e "$FILE" ] | |
| # then | |
| # echo "$FILE exists" | |
| # else | |
| # echo "$FILE does NOT exist" | |
| # fi | |
| ######## | |
| # -d file True if the file is a directory | |
| # -e file True if the file exists (note that this is not particularly portable, thus -f is generally used) | |
| # -f file True if the provided string is a file | |
| # -g file True if the group id is set on a file | |
| # -r file True if the file is readable | |
| # -s file True if the file has a non-zero size | |
| # -u True if the user id is set on a file | |
| # -w True if the file is writable | |
| # -x True if the file is an executable | |
| ######## | |
| #CASE STATEMENT | |
| # read -p "Are you 21 or over? Y/N " ANSWER | |
| # case "$ANSWER" in | |
| # [yY] | [yY][eE][sS]) | |
| # echo "You can have a beer :)" | |
| # ;; | |
| # [nN] | [nN][oO]) | |
| # echo "Sorry, no drinking" | |
| # ;; | |
| # *) | |
| # echo "Please enter y/yes or n/no" | |
| # ;; | |
| # esac | |
| # SIMPLE FOR LOOP | |
| # NAMES="Brad Kevin Alice Mark" | |
| # for NAME in $NAMES | |
| # do | |
| # echo "Hello $NAME" | |
| # done | |
| # FOR LOOP TO RENAME FILES | |
| # FILES=$(ls *.txt) | |
| # NEW="new" | |
| # for FILE in $FILES | |
| # do | |
| # echo "Renaming $FILE to new-$FILE" | |
| # mv $FILE $NEW-$FILE | |
| # done | |
| # WHILE LOOP - READ THROUGH A FILE LINE BY LINE | |
| # LINE=1 | |
| # while read -r CURRENT_LINE | |
| # do | |
| # echo "$LINE: $CURRENT_LINE" | |
| # ((LINE++)) | |
| # done < "./new-1.txt" | |
| # FUNCTION | |
| # function sayHello() { | |
| # echo "Hello World" | |
| # } | |
| # sayHello | |
| # FUNCTION WITH PARAMS | |
| # function greet() { | |
| # echo "Hello, I am $1 and I am $2" | |
| # } | |
| # greet "Brad" "36" | |
| # CREATE FOLDER AND WRITE TO A FILE | |
| # mkdir hello | |
| # touch "hello/world.txt" | |
| # echo "Hello World" >> "hello/world.txt" | |
| # echo "Created hello/world.txt" |
Man Love it thanks, I knew other programming languages and you explained the rest of it well UwU!
Thanks
It helps me thanks
Thank you!
Do you offer classes
It’s really helpful. Thanks
Thank you! 🙏
Thank you Brad
Thanks so much - really useful
thank you
Thank you very awesome, you ever plan on doing one that can interact with different files like python and JavaScript on a server that would be cool.
thanks
thank you!
Thanks, bud!
Thank you
thank you
Thanks dude :)
So, I whipped up a little shell script to sort of streamline creating feature branches. I threw this into my bash profile and run it with an alias fb. feature-brancher.sh
Curious, do any of you have shell scripts to improve productivity? If so, please share a link.
Thank you sir.
Thank you sir
Thank you sir
insight full :)
Thanks!