Desejo invocar um alias da seguinte forma:
alias_name arg0 arg1 arg2
O objetivo é que, chamando o alias e passando-o para arg0, arg1 e arg2, ele chamará uma função que anexará a saída do último comando a um arquivo, se o arquivo já existir OU se o arquivo não existir, deve criá-lo e inserir a saída do último comando.
Nota: Minha intenção é que o arquivo seja formatado da seguinte forma:
String 1
Command 1
Output of command 1
String i
command i
Output of command i
String N
Command N
Output of command N
Eu tentei fazer isso no meu .bashrc da seguinte forma:
alias alias_name='function_name(){ printf "\n\nString_i: $1" >> $0 ; printf "\nCommand_i: $2" >> $0; printf "\nOutput_of_command_i: $(!!)" >> $0 };_log_error'
Depois de adicionar este comando ao meu arquivo .bashrc e fazer uma fonte ~ / .bashrc, eu executei o seguinte comando:
ls -l
Em seguida, invoquei meu alias:
alias_name arg0 arg1 arg2
Mas tudo o que vi no termainal foi:
>
Nenhum arquivo foi criado.
Eu estou querendo saber se este é o método correto para alcançar tais resultados ou se devo ter um alias que chame um script localizado em algum outro lugar do sistema.
NOTA : Uma restrição que tenho é a portabilidade, muitas vezes eu ssh em outras máquinas e terá que executar este comando lá. É por isso que eu pensei alias pode ser a maneira correta de conseguir isso como eu poderia simplesmente ssh na máquina em questão mudar o nome do ~. / Bashrc para ~ / .bashrc_disabled então scp meu bashrc (contendo este novo alias) para a posição , execute meu comando e, em seguida, scp o arquivo de resultado de volta para minha máquina, exclua o .bashrc e renomeie o .bashrc original de .bashrc_disabled para .bashrc
Tags bash alias linux shell-script function