【发布时间】:2017-01-08 12:14:35
【问题描述】:
我做了一个bashfunction,看起来像这样:
keystroke()
{
read -s -n1 -t0.1 key #Read a single keystroke for 0.1 seconds
[ "$key" = $'\e' ] && #If the pressed key is escape
{
echo Aborted by user #Display message
break #Break parent loop
}
}
每当我需要在其他bash 函数中优雅地结束loop 时,我只需要调用keystroke。我不能再这样做了,因为bash v4.4.0 说:
-bash: break: only meaningful in a `for', `while', or `until' loop
如何在不重复复制相同代码超过 10 倍的情况下解决此问题?
【问题讨论】:
-
返回一个由函数调用者检查的状态码?
-
我在您的代码中看不到任何循环。 mb 这就是为什么?
标签: linux bash function loops break