Não há nada errado com sua primeira função, exceto que há um erro de digitação.
O caractere na frente do cvf
não é um caractere negativo.
Você está usando um std. Teclado de teclas US 101?
Anulando isso (o menos é opcional na maioria dos switches tar) e a função funciona bem.
Ou então, você poderia consertá-lo com um bom -cvf
Além disso, não há necessidade de export
export faz com que uma variável de ambiente tenha mais persistência do que você precisa em uma função como essa.
Sugiro que você leia o Guia de scripts de script avançado
Veja let
, local
e export
.
Veja como eles variam, quando usar um ou outro.
Sim, você deve tentar reescrever o segundo como uma função.
As citações e tubulações menos aninhadas, enquanto aprendem, facilitarão as funções de escrita e os aliases.
Os liners vêm depois:)