使用文件夹提取文件,然后使用bash完成

使用文件夹提取文件,然后使用bash完成,bash,tar,Bash,Tar,我不怎么使用bash脚本,我试着做这样的事情: #!/bin/bash wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-i686-static.tar.xz tar xvf ffmpeg-git-i686-static.tar.xz cd ./ffmpeg-git-20210501-i686-static/ cp ./ffmpeg-git-20210501-i686-static/ffmpeg /etc/bin 是否有一个变量或一

我不怎么使用bash脚本,我试着做这样的事情:

#!/bin/bash
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-i686-static.tar.xz
tar xvf ffmpeg-git-i686-static.tar.xz
cd ./ffmpeg-git-20210501-i686-static/
cp ./ffmpeg-git-20210501-i686-static/ffmpeg /etc/bin
是否有一个变量或一种方法可以确定脚本执行期间提取的文件夹被调用。例如,对于命令行中的bash completion,我将使用cd./ffmpeg(因为我知道它是以ffmpeg开头的)


有意义吗?

没有办法事先知道目录结构,但可以在copy命令中使用通配符:

cp./*/ffmpeg/etc/bin
尽管如此,我不建议在
/etc/bin
中安装tarball提取的可执行文件

我在
/usr/local/bin/
中放了一个符号链接:

#/副秘书长/垃圾箱/环境卫生
__opwd=“$PWD”
陷阱“cd”$\uuuuOPWD”退出ABRT INT
wgethttps://johnvansickle.com/ffmpeg/builds/ffmpeg-git-i686-static.tar.xz ||出口1
#创建安装未打包归档文件的位置
mkdir-p'/opt/ffmpeg-git-i686-static'||退出1
#打开档案
cd'/opt/ffmpeg-git-i686-static'||退出1
tar xf“$_opwd/ffmpeg-git-i686-static.tar.xz”||退出1
#创建从ffmpeg命令到`/usr/local/bin的符号链接/`
ln-sf/opt/ffmpeg-git-i686-static/*/ffmpeg/usr/local/bin/

谢谢!使用/usr/bin/env sh而不是/bin/bash是否也更好?@MickeyD
#/usr/bin/env sh
将从安装它的任何环境
$PATH
运行POSIX shell<代码>#/bin/bash将从该确切位置运行bash,如果在
/bin
中不可用,则将失败。所以前者是最轻便的舍邦。类似地:
#/usr/bin/env bash
将运行bash,而不管其安装位置如何。