Arquivo temporário para executar um comando

0

Como posso executar algo mais simples que:

echo date > tmp.html & & firefox tmp.html & & rm tmp.html

É possível obter o mesmo sem criar e excluir o tmp.html?

    
por Tevilt Rostoff 15.10.2015 / 00:58

1 resposta

1

/tmp é limpo na inicialização, então você pode fazer isso

date > /tmp/date.html && firefox /tmp/date.html

se você deseja abrir o resultado de qualquer comando em um navegador, adicione isso ao seu script de inicialização do shell

function open_in_browser {
  echo $@ > /tmp/temp.html
  firefox /tmp/temp.html
} 

e depois você pode ligar

$ open_in_browser 'date'

alternativamente, se você preferir uma abordagem mais segura com stdin e melhor estilo, poderá usar essa função

function stdin_to_browser {
    local tmpfile='mktemp /tmp/command-output.XXXXX.html'
    cat - > ${tmpfile}
    sed -i -e '1{s#^#<pre>#;};${s#$#</pre>#;}' ${tmpfile}
    firefox ${tmpfile} 2> /dev/null
}

que permitiria que você

ifconfig | stdin_to_browser

(este exemplo usa a sugestão do @ thrig de mktemp )

    
por 15.10.2015 / 01:11

Tags