我有一个脚本中的代码片段:
exec 3<<<"$(zenity --entry --title="Enter PIN" | validate_pin || error_handler )"
另外,我必须通过文件描述符传递PIN码,因此这里需要重定向和命令替换。
validate_pin
的输出是输入的PIN码的修改值,但退出代码决定了它是否成功和有效。 我可以在error_handler
中放置什么来处理任何失败?
如果我使用exit
,它只会退出命令替换子shell。 分配的变量(FAIL = 1
等)也会在命令替换子shell关闭后被清除。 检查读取文件描述符可行,但随后进程无法使用它。