bash 将文件名添加到别名命令

bash 将文件名添加到别名命令

我有一个 ffmpeg 命令的别名来开始记录会话,如下所示:

alias sreq='ffmpeg -f x11grab -r 24 -s 1024x768 -i :0.0 -qp 0 -c:v libx264 -preset veryslow'

我只需输入 sreq filename.mkv 即可开始录制。这非常好,但我想稍微修改一下。

因为我总是以 .mkv 格式录制,我怎样才能拥有它,这样我就可以避免打字.mkv

我怎样才能修改这个别名命令或其他命令,以便我可以输入sreq filenamesreq /path/to/filename

它是否按预期工作?

答案1

一种方法是使用函数而不是别名 - 将其放入 .bashrc 或 .bash_profile 中 -

sreq()
{
 ffmpeg -f x11grab -r 24 -s 1024x768 -i :0.0 -qp 0 -c:v libx264  -preset veryslow $1.mkv
}

答案2

你为什么不直接升级alias到一个function

例如

function sreq() 
{
   ffmpeg -f x11grab -r 24 -s 1024x768 -i :0.0 -qp 0 -c:v libx264 -preset veryslow "$1".mkv
}

当你输入时sreq /path/to/filename它会变成ffmpeg ..(redacted)... /path/to/filename.mkv

相关内容