linux脚本 花括号,如何从花括号中退出bash shell脚本?

我需要在我的shell脚本中使用花括号对命令进行分组,以便我可以将它们的输出定向到单独的日志文件,如此...

>cat how-to-exit-script-from-within-curly-braces.sh

{

printf "%d\n" 1

printf "%d\n" 2

} | tee a.log

{

printf "%d\n" 3

printf "%d\n" 4

} | tee b.log

>./how-to-exit-script-from-within-curly-braces.sh

1

2

3

4

>cat a.log

1

2

>cat b.log

3

4

>

虽然我添加了花括号以方便日志记录,但我仍然希望在大括号内调用exit命令时退出脚本.

它当然不会这样做.它只退出花括号,然后继续执行脚本的其余部分,如此...

>cat how-to-exit-script-from-within-curly-braces.sh

{

printf "%d\n" 1

exit

printf "%d\n" 2

} | tee a.log

{

printf "%d\n" 3

printf "%d\n" 4

} | tee b.log

>./how-to-exit-script-from-within-curly-braces.sh

1

3

4

>cat a.log

1

>cat b.log

3

4

>

使退出代码非零并将"set -e"添加到脚本似乎不起作用...

>cat how-to-exit-script-from-within-curly-braces.sh

set -e

{

printf "%d\n" 1

exit 1

printf "%d\n" 2

} | tee a.log

{

printf "%d\n" 3

printf "%d\n" 4

} | tee b.log

>./how-to-exit-script-from-within-curly-braces.sh

1

3

4

>cat a.log

1

>cat b.log

3

4

>

有没有办法强制从花括号内退出脚本?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值