自动操作封装命令行

发表于 2023-05-15 00:30:13
更新于 2024-04-18 13:33:37
macOSShell

开端

最近在博客中,会比较频繁地遇到把视频转成 gif 图片的需求。

我常用的就是这个个 ffmpeg 命令了:

shell
ffmpeg -i source.mp4  -r 15 target.gif

每次都输入那么一串命令,难免不容易记住,好在 macOS 上有系统的“自动操作”软件。

自动操作

感觉这个软件非常像 iPhone 上的捷径,可以把功能做的很强大。 但是这次我只需要执行 shell 的能力。

就像图中可以看到的,我们应用的文件对象是影片文件,可以在访达中使用这个自动操作。

随后,我们将运行 Shell 脚本里的传递输入改为:作为自变量。

  • fileName=$1 就是我们的视频文件
  • uuid=$(uuidgen) 是作为 gif 图片的文件名,我不希望它会覆盖其他文件,所以用了 uuid
  • dir=$(dirname $fileName) 是获取视频文件所在路径,我希望 gif 生成在视频文件的相同目录下
  • targetName=${dir}/${uuid}".gif" 这是对上面参数的拼接,拼接成文件名
  • /usr/local/bin/ffmpeg -i $fileName -r 15 $targetName 这就是对命令的执行,我试了一下不能像在常规的命令行里直接使用 ffmpeg,即使它已经加入了环境变量

保存后,我们右击视频文件后将会看到我们的自动操作会出现在如图片中的菜单里:

点击这个快速操作后,我们能得到我们的 gif 图片了。

小结

自动操作是个封装命令的好帮手,它的功能远不止文中的自动转 gif 图片的命令,值得继续探索。

你可以封装出适合你自己的自动操作。