我怎样才能运行比以下更简单的东西:
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
)