You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本执行时如何动态获取ffmpeg压缩包解压后的文件夹名称

动态匹配解压文件夹的实现方案

方法1:通配符直接匹配(最简实现)

直接利用Bash自带的通配符匹配固定前缀的文件夹,无需额外逻辑,修改后的完整脚本如下:

#!/bin/bash
# 下载ffmpeg静态编译包
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-i686-static.tar.xz
# 解压压缩包
tar xvf ffmpeg-git-i686-static.tar.xz
# 通配符*匹配中间的可变日期字段,直接进入对应文件夹
cd ffmpeg-git-*-i686-static/
# 复制二进制文件到目标路径
cp ffmpeg /etc/bin

通配符*可以匹配任意长度的任意字符,只要下载的压缩包命名规则不变,就能自动匹配到带日期的文件夹名称,和你手动输入cd ./ffmpeg按补全的效果完全一致。


方法2:文件夹名存入变量复用

如果后续脚本还有多处需要用到这个文件夹路径,可以用find命令动态获取后赋值给变量:

#!/bin/bash
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-i686-static.tar.xz
tar xvf ffmpeg-git-i686-static.tar.xz
# 仅在当前目录查找匹配规则的文件夹,赋值给变量
FFMPEG_DIR=$(find . -maxdepth 1 -type d -name "ffmpeg-git-*-i686-static" | head -n 1)
cd "${FFMPEG_DIR}"
cp ffmpeg /etc/bin

注意事项

  • 如果需要适配其他架构,把通配符中的i686替换为对应架构标识即可,比如amd64设备修改为ffmpeg-git-*-amd64-static
  • 常规Linux环境下二进制文件推荐放置到/usr/local/bin目录,可根据你的实际需求调整目标路径

内容的提问来源于stack exchange,提问作者Mickey D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 16:06:01