我希望将以下命令的结果输入变量。
xprop -name "google-chrome-stable" | grep "window id" | awk '{print $5}' | awk '{print $1}'
结果看起来应该是那样的
OUTPUT=xprop -name "google-chrome-stable" | grep "window id" | awk '{print $5}' | awk '{print $1}'
echo $OUTPUT
我知道可以通过命令替换来完成。 链接command substitution中的示例不够详细,因为它们没有解释如何转义引号和撇号。 有人可以帮我找出解决方法吗?
答案 0 :(得分:1)
看起来你只需要这样做:
output=$(xprop -name "google-chrome-stable" | awk '/window id/{print $5}')
echo "$output"
在$( )
内无需进行任何转义。我已经将变量包装在双引号中以防止发生诸如glob扩展之类的事情。作为奖励,我结合了你的grep和awk命令并删除了最后一个没有做任何有用的事情。
我还将你的变量名称设为小写。应为shell内部保留大写变量名。有一天,当你有一个名为$PATH
的变量并且突然一切都停止工作时,你会感谢我...
答案 1 :(得分:1)
如果您尝试获取群组领导者窗口,则可以使用以下内容。
output=$(xprop -notype -f WM_HINTS "32mx" ' ?m6($8)\n' -name google-chrome-stable WM_HINTS | awk '{print $2}')
echo "$output"
-f
的参数来自xprop源本身以及一些阅读format
和dformat
的手册页。
xprop
man page的Description
部分解释了format
和dformat
的所有内容。