Query String to Args

  1. #!/bin/bash
  2. # ...
  3. declare -A ARGS
  4. K="$QUERY_STRING"
  5. V=
  6. while [ ! "${K}" = "${V}" ]
  7. do
  8. V=${K%%&*}
  9. K=${K#*&}
  10. ARGS[${V%=*}]=${V#*=}
  11. ## echo 'ARGS[ '"${V%=*}"' ] = '"${V#*=}"'<br>'
  12. done
EX: QUERY_STRING='server=google1&date=2/2/22'
echo "${ARGS[server]}" used "${ARGS[date]}"

Logging

  1. LOGFILE=./logs/cgi.log
  2. # ...
  3. log () {
  4. echo "$(date '+%y-%m-%d %T')"$'\t'"$$"\
  5. $'\t'"${BASH_SOURCE[1]##*/}"\
  6. '('"${BASH_LINENO[0]}"') '"${@}" >> $LOGFILE
  7. }