shell.sh 491 B

123456789101112131415161718192021222324252627282930313233
  1. var2file() {
  2. local var
  3. eval "var=\"\${$1}\""
  4. if [ -n "$var" ]; then echo "$var" > "$2"; fi
  5. }
  6. isset() {
  7. local var
  8. eval "var=\"\${$1}\""
  9. [ -n "$var" ]
  10. }
  11. trapret() {(
  12. local retvals="$1"; shift
  13. local cmd="$1"; shift
  14. for retval in $(echo $retvals); do
  15. local trap_$retval=1
  16. done
  17. "$cmd" "$@" || {
  18. local retval="$?"
  19. eval "trapped=\${trap_$retval}"
  20. [ -n "$trapped" ] || {
  21. return $retval
  22. }
  23. }
  24. )}
  25. md5s() {
  26. cat "$@" | (
  27. md5sum 2>/dev/null ||
  28. md5
  29. ) | awk '{print $1}'
  30. }