我在脚本中有以下代码段:
exec 3<<<"$(zenity --entry --title="Enter PIN" | validate_pin || error_handler )"
在其他地方,我必须通过文件描述符传递 PIN,因此这里的重定向和命令替换。
的输出validate_pin
是输入 PIN 的修改值,但退出代码确定它是否成功和有效。error_handler
为了管理任何故障,我可以投入什么?
如果我有exit
,它只会退出命令替换子shell。FAIL=1
一旦命令替换子shell关闭,分配的变量(等)也会被清除。读取文件描述符检查工作,但随后关闭,后续进程无法使用。