用于运行命令的临时文件

用于运行命令的临时文件

我怎样才能运行比以下更简单的东西:

echo date> tmp.html && 火狐 tmp.html && rm tmp.html

是否可以在不创建和删除 tmp.html 的情况下获得相同的结果?

答案1

/tmp在启动时被清除,所以你可以这样做

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

如果您想在浏览器中打开任何命令的结果,请将其添加到您的 shell 启动脚本中

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

然后你可以打电话

$ open_in_browser `date`

或者,如果您更喜欢使用标准输入和更好的样式的更安全的方法,您可以使用此函数

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
}

这会让你

ifconfig | stdin_to_browser

(此示例采用了@thrig 的建议mktemp

相关内容