阅读:非法选项 -u

阅读:非法选项 -u

我正在尝试使用 read 从文件描述符中读取,如下所示:

read -u fd

在这个链接中

这是我在 bash 脚本中使用的代码:

MESSAGE=$(read -u $NODE_CHANNEL_FD)
echo " parent message => $MESSAGE"  >&2

确切的错误信息:

read: Illegal option -u

有人知道这可能是什么吗?

答案1

该错误消息表明您实际上没有使用 执行脚本bash

使脚本可执行并#!在脚本的第一行添加适当的 -line,例如

#!/bin/bash

或者,显式执行脚本bash

$ bash script.sh

您应该将shbash视为实现单独的语言,并为您正在编写的脚本使用正确的解释器。在这种情况下,您将使用readwith 该-u选项。这最初是ksh对标准read规范的扩展,并且也在bash和中实现zsh。因此,您需要使用bash,zsh或运行脚本ksh

如何知道何时使用sh以及何时使用bash其他 shell?很简单,您可以了解其sh工作方式以及其他 shell 添加的其他功能。

相关内容