A variável Pipe in Environment no fish shell não executa o primeiro comando?


0

Eu quero definir fish_greeting para date --rfc-2822 | cowsay -f tux | lolcat (não me julgue). Quando eu corro date --rfc-2822 | cowsay -f tux | lolcat interativamente, recebo a saída apropriada (a data em um balão de fala acima do tux nas cores do arco-íris). No entanto, quando eu set fish_greeting date --rfc-2822 | cowsay -f tux | lolcat, Eu recebo esta saída:

 _ 
<   >
 - 
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/

date --rfc-2822

(em cores, claro). Por que o primeiro tubo não está funcionando?


Eu não sei o que é peixe, mas você já tentou colocar o caminho completo até o momento no comando? Parece que está apenas ecoando o comando em vez de executá-lo
djsmiley2k

@ djsmiley2k fishshell.com . Eu tentei / usr / bin / date, mas isso deu a mesma saída, mas com / usr / bin / date na parte inferior.
ZuluDeltaNiner

Estranho, eu apenas tive um jogo rápido com cowsay (eu não vou instalar o atum fishshell porque não tenho tempo) mas consegui 'trabalhar' com cowsay $(/bin/date)
djsmiley2k

@ djsmiley2k Em peixes, o equivalente é cowsay (*command*) (isso funciona). No entanto, acho que o problema é que o primeiro comando está sendo ecoado, não executado, porque a nova saída é cowsay -f tux Sun, 01 May 2016 11:55:07 -0700
ZuluDeltaNiner

Respostas:


2

fish_greeting pode ser uma função

function fish_greeting; date --rfc-2822 | cowsay -f tux | lolcat; end

Esclarecimento: fish_greeting pode ser uma string literal ou uma função. Tem que ser uma função se você estiver fazendo coisas como executar uma instrução que inclua pipes (ou qualquer comando externo). Vejo __fish_config_interactive.fish .
Kurtis Rader
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.