我正在打击我每天多次从终端使用的警报脚本,以便快速提醒。无论如何,这个var赋值:
killOrSnz=$((sleep .1 ; wmctrl -r yadAC -e 0,6,30,0,0) | yad --title yadAC --image="$imgClk" --text "Alarm:\n${am}" --form --field="Hit Enter key to stop the alarm\nor enter a number of minutes\nthe alarm should snooze." --button="gtk-cancel:1" --button="gtk-ok:0"|sed -r 's/^([0-9]{1,})\|[ ]*$/\1/')
让我感到悲伤。除了在我的vim会话中不再突出显示它下面的所有代码之外,var工作得很好,只是为了看看它而让我的眼睛受伤,从不介意扫描问题或做出改动。
我借用了yad
命令通过wmctrl
以更好地控制窗口几何形状的想法,这在这里的另一篇文章中很有用,但当然没有提到潜在的一面 - 影响。我希望能够很好地控制应用程序的窗口位置,但在保持文档突出显示的同时这样做会很好。
我确实尝试重新排列管道和子壳,看看我是否可以让它以另一种方式工作而不会干扰我的vim突出显示,但是没有爱到任何方式但是这样。
答案 0 :(得分:3)
似乎VIM的解析器被$((
所欺骗,将其误认为是算术表达式的开头而不是第一个字符是括号的命令替换。由于没有匹配的))
,因此着色器会对什么是混淆。尝试在两个开放的parens之间添加一个显式空格:
killOrSnz=$( (sleep .1; ... )