Como usar o lolcat junto com alguns comandos do linux

eh possivel colocar o lolcat para rodar junto com alguns comandos do linux? tipo os comandos: cal, date, uname -a, hostname. quando for colocado o comando date automaticamente executar o comando date | lolcat mas isso so para alguns comando que eu queira. obg se alguem ajudar.

2 Curtidas

Até onde eu saiba, se você adicionar " | lolcat " após o comando, deveria funcionar.
Ex:
“neofetch | lolcat”
“ls | lolcat”

Se você quiser deixar salvo… acredito que você poderia criar um alias no arquivo .bash_aliases (ou .bashrc) localizado na “/”.

Ex:
alias neofetch"neofetch | lolcat"
alias ls=“ls | lolcat”

3 Curtidas

boa dica eu consegui fazar isso com o bash, mas eu tambem queria fazer isso com o FishShell.
Eu tenho que encontrar o rc do fish? ou eh de outro jeito

1 Curtida

Cara, eu nunca usei fish… Mas com uma pesquisada rápida, aparentemente existe um arquivo de configuração em ~/.config/fish/config.fish (se o arquivo não existir, criar um novo), e adicionar um alias com: alias rm=“rm -i”

1 Curtida

Você precisa de uma “função envolucro” vale ressaltar que isso não funciona em comando internos do bash ou fish.

Nota: como isso pode interessar a mais usuários vou mostrar como fazer tanto bash quanto no fish


No bash

A sintaxe da função envolucro modelo no bash é assim:

function comando() {
  $(which comando) ${@} | lolcat
} 

Tudo que você tem que fazer é trocar a palavra comando pelo nome do executável, por exemplo o comando ls ficaria assim:

function ls() {
  $(which ls) ${@} | lolcat
} 

Adicione a função ao final do arquivo .bashrc na sua pasta pessoal (ou seja sua home)


No fish

A sintaxe da função envolucro modelo no fish é assim:
function comando
  eval (which comando) $argv | lolcat
end

Tudo que você tem que fazer é trocar a palavra comando pelo nome do executável, por exemplo o comando ls ficaria assim:

function ls
  eval (which ls) $argv | lolcat
end

Adicione a função ao final do arquivo .config/fish/config.fish na sua pasta pessoal (ou seja sua home), no geral esse arquivo não existe então é provável que você tenha que criar ele


Por que fazer assim ao invés de usar aliases?

Usando aliases qualquer parâmetro que você passar ao comando será passado ao lolcat ao invés do comando por exemplo, via aliases a seguinte linha:

ls -la

Seria tratada como:

ls | lolcat -la

O que ocasiona erros como esse:

Error: unknown argument '-l'.
Try --help for help.

Via função envólucro a mesma linha:

ls -la

É tratada como:

ls -la | lolcat

Ou seja funciona de forma natural, como se fosse o comando mesmo

3 Curtidas

Ta mas onde fica o arquivo rc do fish, do Bash eu sei que fish na pasta home

2 Curtidas

Eu tá na sessão FISH da resposta, esse é o equivalente ao .bashrc

1 Curtida

neste caminho mostra o arquivo fish_variables. E colocando o alias nao funciona

Cria o arquivo config.fish nesse direitorio, NÃO use aliases

1 Curtida