bash adicionando um nome de arquivo a um comando alias [duplicado]

1

Eu tenho um alias para um comando ffmpeg para começar a gravar uma sessão como esta:

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

Eu posso apenas digitar sreq filename.mkv para iniciar a gravação. Isso é muito bom, mas eu gostaria de corrigir isso um pouco.

desde que eu sempre gravo no formato .mkv, como posso tê-lo para que eu possa evitar digitar .mkv

como eu poderia refazer o comando alias ou algo assim para que eu possa digitar sreq filename ou sreq /path/to/filename

e que funcione como esperado?

    
por user1610950 05.02.2016 / 17:33

2 respostas

1

Por que você não atualiza o alias para um function ?

por exemplo

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

Quando você digita sreq /path/to/filename , ele se torna ffmpeg ..(redacted)... /path/to/filename.mkv

    
por 05.02.2016 / 17:39
3

Uma maneira é usar uma função em vez do alias - coloque isso em seu .bashrc ou .bash_profile -

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