Paramètres de l'extrait de l'avant-dernier paramètre “$@”

Je suis en train de créer un script Bash qui va extraire le dernier paramètre donné à partir de la ligne de commande dans une variable pour l'utiliser ailleurs. Voici le script que je suis en train de travailler sur:

#!/bin/bash
# compact - archive and compact file/folder(s)

eval LAST=$$#

FILES="$@"
NAME=$LAST

# Usage - display usage if no parameters are given
if [[ -z $NAME ]]; then
  echo "compact <file> <folder>... <compressed-name>.tar.gz"
  exit
fi

# Check if an archive name has been given
if [[ -f $NAME ]]; then
  echo "File exists or you forgot to enter a filename.  Exiting."
  exit
fi

tar -czvpf "$NAME".tar.gz $FILES

Depuis la première paramètres pourrait être de n'importe quel nombre, je dois trouver un moyen d'extraire le dernier paramètre (par ex. fichier compact.un fichier.b fichier.d files-a-b-d.tar.gz). Comme c'est maintenant le nom de l'archive seront incluses dans les fichiers à compresser. Est-il un moyen de faire cela?

InformationsquelleAutor user148813 | 2009-08-01