我在脚本中有以下片段:exec 3<<<"$(zenity --entry --title="Enter PIN" | validate_pin || error_handler )"在其他地方,我必须通过一个文件描述符传递PIN,因此这里需要重定向和命令替换。validate_pin的输出是输入的PIN的修改值,但退出代码确定它是否成功和有效。我可以在error_handler中输入什么来管理任何失败?如果我有 >,它只退出命令替换符。一旦命令替换子shell关闭,分配的变量(exit等)也会被清除。读取文件描述符以检查工作,但随后它被关闭,后续进程无法使用它。 最佳答案 到目前为止,我发现最好的方法是使用一个临时文件。exec 3<<<"$(zenity --entry --title="Enter PIN" | validate_pin || touch .fail )"if [[ -f .fail ]] ; then do_stufffi关于bash - bash命令替换中的脚本逻辑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30483112/ 10-13 07:24