我刚刚在网页上看到了下面的命令列表--它们在用户的ffmpeg目录中安装了一个静态版本的~/bin。这些命令不是脚本的一部分,用户应该将命令复制并粘贴到shell中。我不需要也不用命令但是..。
我的问题涉及第一个命令:mkdir -p ~/bin && bash
在命令中使用bash的目的是什么?当然,我知道&&做了什么,大概bash只是启动了bash的一个新实例,但是为什么有必要启动bash的新实例呢?或者bash,当像这样使用时,还有其他的用途吗?
mkdir -p ~/bin && bash
wget -qO ~/ffmpeg.tar.gz http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz
tar xf ~/ffmpeg.tar.gz && cd && rm -rf ffmpeg-*-64bit-static/{manpages,presets,readme.txt}
cp ~/ffmpeg-*-64bit-static/* ~/bin
chmod 700 ~/bin/{ffmpeg,ffprobe,ffmpeg-10bit,qt-faststart}
cd && rm -rf ffmpeg{.tar.gz,-*-64bit-static}发布于 2017-07-02 18:23:30
有些程序要求您使用bash进行注册才能正确工作,这可能是使用&& bash的原因。
只有在前面的命令正确工作的情况下&&操作符才能成功地执行第二个命令--但是您已经知道了,所以我猜您要安装的软件需要bash,而其他shell可能无法在给定的程序中正常工作。
发布于 2017-07-03 09:18:16
除非目录bin以前不存在,并且其创建失败,否则将打开一个交互式bash,您可以在其中任意工作.编辑文件,给你祖母写电子邮件,等等。一旦退出这个shell,脚本就会继续运行,执行wget、tar等操作。
这就是这个脚本实际上所做的。不管这是否有意义,我不想评判.
https://unix.stackexchange.com/questions/374830
复制相似问题