Bash
Jump to navigation
Jump to search
Bash Scripting
Create a Script that will resize an image to multiple sizes
#!/bin/bash echo "what is the filename" read fn #fn="testimage" // to hard code the image for SIZE in 29 40 50 57 58 60 72 75 76 80 87 100 114 120 144 152 167 180 512 1024 do sips -Z $SIZE "${fn}.jpg" --out "${fn}${SIZE}.jpg" done
Prompt for Image Name and sizes
#!/bin/bash echo "what is the filename" read fn echo "Enter sizes seprated by space" read sizes for SIZE in $sizes do sips -Z $SIZE "${fn}.jpg" --out "${fn}${SIZE}.jpg" done
Convert All png files in a dir to jpg
for i in *.png; do sips -s format jpeg -s formatOptions 70 "${i}" --out "${i%png}jpg"; done
Brace Expansion {}, helps with repeated commands touch {apple, banana, chery} // would create three filenames touch filename_{01..100} // will create 100 filenames echo {A..Z} // prints A - Z echo {1..10..3} // prints 1 - 10 step 3 touch {apple,banana,cherry}_{01..100}{w..d} ** Std Output cp -v * /folder 1> success.txt 2> error.txt Grep with awk grep -i searchTerm filename.txt | awk {'print $12'} // will output the 12th thing on a line space delimited and only return that value ** Variables Bash file #!/bin/bash a=hello b="Good Morinng" c=16 echo "$b I have $c apples." output [Good Morning I have 16 Apples] ** Get Info from users Bash file #!/bin/bash echo "Enter your name" read name echo "What is your password" read pass read -p "what is your fav animal " animal echo name: $name, pass: $pass, animal: $animal // this is an inline prompt