我不是bash专家,无法真正描述我的问题。这就是为什么我会告诉你我的脚本:bash try/catch行为bash -ex << EOF ... EOF或Here文档和变量扩展
#!/bin/bash -x
bash -ex << TRY
VAR1="123"
echo "$VAR1"
TRY
echo "exit code: $?"
当我运行该脚本,它产生以下输出:
+ bash -ex
+ VAR1=123
+ echo ''
+ echo 'exit code: 0'
exit code: 0
我的问题:为什么变量VAR1没有echo命令分配?我希望下面的输出:
+ bash -ex
+ VAR1=123
+ echo ''
123
+ echo 'exit code: 0'
exit code: 0
这不是真正的异常处理。这只是一个单独的程序,可以提前中止,而且只有在传递给'bash'的脚本根本不需要从标准输入中读取的情况下才有效。 – chepner
这就是我需要的用例,谢谢澄清 – hellomichibye