Bash

bash 將文件名添加到別名命令

  • February 5, 2016

我有一個 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

並按預期工作?

你為什麼不直接升級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

一種方法是使用函式而不是別名 - 將其放入 .bashrc 或 .bash_profile -

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

引用自:https://unix.stackexchange.com/questions/260171