Qual é a maneira correta de atribuir uma função contendo comandos encadeados a um alias em .bashrc?

0

Desejo invocar um alias da seguinte forma:

alias_name arg0 arg1 arg2
  • arg0 = nome do arquivo
  • arg1 = string geral
  • arg2 = Representação de string do último comando

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

    
por MarkMark 03.08.2018 / 13:07

0 respostas