相关疑难解决方法(0)

在"$ @"中的最后一个参数之前提取参数

我正在尝试创建一个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
Run Code Online (Sandbox Code Playgroud)

由于第一个参数可以是任何数字,我必须找到一种方法来提取最后一个参数,(例如压缩文件.a file.b file.d files-abd.tar.gz).现在,存档名称将包含在要压缩的文件中.有没有办法做到这一点?

parameters bash

62
推荐指数
5
解决办法
2万
查看次数

标签 统计

bash ×1

parameters ×1