linux shell 获取最后一个参数,bash – 在“$@”中的最后一个参数之前提取参数

我试图创建一个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 ... .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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值