在我的POSIX shell函数中:
<div class='items'>
<div class='item' id= 'wrk'><image xlink:href="https://www.svgrepo.com/show/62382/low-battery.svg" /><div class='bullet' id='foo'></div><div class='label'>foo</div></div>
<div class='item-selected' id = 'brk'><div class='bullet' id='bar'></div><div class='label'>bar</div></div>
</div>
<svg>
<image xlink:href="https://www.svgrepo.com/show/62382/low-battery.svg" />
</svg>
此代码中的disable_mouse_for_a_second()
{
if xinput --disable "$1" 2> /dev/null
then
(
sleep 1s
xinput --enable "$1"
) &
return 0
else
return 1
fi
}
... (
是否为子shell?
答案 0 :(得分:3)
您的问题的简短回答是是。问题的原因只不过是单行:
( sleep 1s; xinput --enable "$1"; ) &
分布在多条线上。它只执行(和背景)sleep
和xinput
命令。
您将看到的多行上写的两个主复合命令是:
(list) ## and
{ list; }
两者之间的区别是(list)
在子shell 环境中执行,影响shell环境的变量赋值和内置命令在命令完成后不会保持有效。
{ list; }
列表只是在当前shell环境中执行。