Bash script that can uncompress: tar, gzip, rar
Don't use cut and grep, use parameter substitution and a case statement over the file extension to decide the file type (or use the file command if you want to be really clever, but I recommend the former actually)
Don't use [ "${foo}" != "" ], use [ -n "${foo}" ]
Don't mix test and [, just stick to [ unless you want to write code that looks autoconf generated
Quote all your variables, especially the ones containing filenames to account for spaces, e.g. tar xzf "$1" &gt; /dev/null
Don't parse command line options yourself, use getopts (or getopt, in case you really, really want GNU-style options)
Improve your indentation