X-Git-Url: https://git.slaskete.net/einar-bin/blobdiff_plain/20bbdb7d638345f922e870ea5ebe576ff71659c0..c36f76c10b8506263e3c9c2635ec0dbae73b5b28:/imgurgame.bash diff --git a/imgurgame.bash b/imgurgame.bash index 66bbe4e..a30b02d 100755 --- a/imgurgame.bash +++ b/imgurgame.bash @@ -5,17 +5,21 @@ readonly BROWSER="google-chrome" # Create a random imgur url that may or may not be valid imgururl() { - # 1/3% chance for length of 5, 6 or 7 length string - STRLN=$((5 + ${RANDOM} % 3)) - local ID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${STRLN} | head -n 1) + # 1/3 chance for length of 5, 6 or 7 length string + STRLN=$((5 + RANDOM % 3)) + local ID + # don't nag about useless cat, this is more readable + # shellcheck disable=2002 + ID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${STRLN} | head -n 1) echo "http://i.imgur.com/${ID}.jpg" } # Test if we found a valid URL testimgur() { local URL=${1} - local RESULT=$(curl -s -o /dev/null -I -w "%{http_code}" ${URL}) - if [[ ${RESULT} == 200 ]]; then + local RESULT + RESULT=$(curl -s -o /dev/null -I -w "%{http_code}" "${URL}") + if [[ ${RESULT} == "200" ]]; then echo true else echo false @@ -25,13 +29,14 @@ testimgur() { main() { local FAIL=0 while true; do - local URL=$(imgururl) - if [[ $(testimgur ${URL}) == "true" ]]; then + local URL + URL=$(imgururl) + if [[ $(testimgur "${URL}") == "true" ]]; then echo "Found ${URL} after ${FAIL} failed tries" - ${BROWSER} ${URL} > /dev/null 2>&1 + ${BROWSER} "${URL}" > /dev/null 2>&1 local FAIL=0 else - FAIL=$(( ${FAIL}+1 )) + ((FAIL++)) fi done }