function uz --description "Decompress an archive without making a mess" if test (count $argv) -lt 1 echo "Missing argument." return 1 end if not command -sq bsdtar echo "Can't fint bsdtar." return 1 end for archive in $argv set -l dir (string split '.' "$archive")[1] if not test -d "$dir" mkdir "$dir" pushd "$dir" command bsdtar -xf ../"$archive" popd else echo "Can't overwrite existing directory." end end end