Я пытаюсь создать скрипт Bash, который будет извлекать последний параметр, заданный из командной строки, в переменную, которая будет использоваться в другом месте Вот сценарий, над которым я работаю:
#!/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
Поскольку первые параметры могут иметь любое число, я должен найти способ извлечь последний параметр (например, компактный файл. Файл. Файл. Файл. Как сейчас, имя архива будет включено в файлы для сжатия. Есть ли способ сделать это?