偶尔,我会运行一个输出很多的命令.偶尔,最后30-40行是输出的(又名输出我所真正看到的只有一部分)是好的,但要进一步上涨,出现了错误.我想更容易注意到命令失败了.为此,我希望返回代码成为我的提示的一部分.所以我拿了我的$ PS1:
[\D{%Y-%m-%d} \t] \[\e]0;\u@\h: \w\a\]\$
Run Code Online (Sandbox Code Playgroud)
......并将其扩展到:
[\D{%Y-%m-%d} \t] ${?/^0$/} \[\e]0;\u@\h: \w\a\]\$
Run Code Online (Sandbox Code Playgroud)
这会产生如下提示:
[2011-05-10 09:38:07] 0 soren@lenny:~$
Run Code Online (Sandbox Code Playgroud)
但是,我想找到一种方法让它只包含退出代码,如果它不是0.我怎样才能做到这一点?当然,我可以使用
$(echo \$? | sed -e blah)
Run Code Online (Sandbox Code Playgroud)
但是像sed一样轻巧,它仍然比bash内置的东西重得多.
我希望能够通过Python跟踪我的X11显示器上当前关注的应用程序.目的是将其与时间跟踪工具联系起来,这样我就可以记录我花费多少时间无效.
我已在http://thpinfo.com/2007/09/x11-idle-time-and-focused-window-in.html找到此代码:
import Xlib.display
display = Xlib.display.Display()
focus = display.get_input_focus()
print "WM Class: %s" % ( focus.focus.get_wm_class(), )
print "WM Name: %s" % ( focus.focus.get_wm_name(), )
Run Code Online (Sandbox Code Playgroud)
但是,它似乎对我不起作用.显然,无论关注哪个应用程序,get_wm_class()和get_wm_name()都只返回None.
当然,解决方案需要与Compiz等所有这些新奇的窗口管理器一起使用.