Bash 命令行上“read”的参考选项

Bash 命令行上“read”的参考选项,bash,Bash,我正在学习阅读命令, 有多个选项,包括-p,-e,-i, 例如: if read -t 10 -sp "Enter secret passphrase > " secret_pass; then echo -e "\nSecret passphrase = 'secret_pass'" else echo -e "\nInput timed out" >&2 exit 1 fi 但是,我无法从命令行

我正在学习
阅读
命令,
有多个选项,包括
-p
-e
-i

例如:

    if read -t 10 -sp "Enter secret passphrase > " secret_pass; then
        echo -e  "\nSecret passphrase = 'secret_pass'"
    else
        echo -e  "\nInput timed out" >&2
        exit 1
    fi
但是,我无法从命令行找到选项

    $ man read | grep -e '-e' -e '-p'
    #it return nothing.
另外,我检查了BSD官方,没有找到选项。


如何从命令行检查它们?

命令
read
是一个内置的shell。您可以查看手册中的
Bash

man bash
然后搜索
read
,也可以键入

help read
Bash
shell中

更新

您在评论中提出的后续问题:

Bash将首先使用其内置函数。如果您的系统上还有一个可执行文件,您想使用它,那么您必须通过它的完整路径调用它,例如

$ echo Hello # This calls Bash's version of echo
$ /usr/bin/echo World # This calls echo that was installed with the OS

这适用于系统上作为可执行文件存在的所有命令,并且具有内置的对应命令。我不熟悉BSD,但在Linux上没有
cd
可执行文件。这意味着程序可以从外部更改Bash的工作目录。我不知道BSD为什么有这样一个程序,如果
Bash
甚至允许它更改其工作目录。

命令
read
是一个内置的shell。您可以查看手册中的
Bash

man bash
然后搜索
read
,也可以键入

help read
Bash
shell中

更新

您在评论中提出的后续问题:

Bash将首先使用其内置函数。如果您的系统上还有一个可执行文件,您想使用它,那么您必须通过它的完整路径调用它,例如

$ echo Hello # This calls Bash's version of echo
$ /usr/bin/echo World # This calls echo that was installed with the OS
这适用于系统上作为可执行文件存在的所有命令,并且具有内置的对应命令。我不熟悉BSD,但在Linux上没有
cd
可执行文件。这意味着程序可以从外部更改Bash的工作目录。我不知道为什么BSD有这样一个程序,如果
Bash
甚至允许它更改其工作目录

如何从命令行检查它们

如果您的命令行shell是
bash
,或者
bash-c“help read”
,那么使用航海的建议
help read
最简单

如果您想阅读手册部分而不是
帮助
文本,可以使用:

man bash | more +/'read *\['

man-cd
显示其BSD内置,
help-cd
显示其GNU-bash内置,版本4.4.19(1)。当命令行中的I
cd-dir
时,谁的内置正在工作

执行所用shell的内置命令。如果不确定它是哪个外壳,请输入
echo$0

如何从命令行检查它们

如果您的命令行shell是
bash
,或者
bash-c“help read”
,那么使用航海的建议
help read
最简单

如果您想阅读手册部分而不是
帮助
文本,可以使用:

man bash | more +/'read *\['

man-cd
显示其BSD内置,
help-cd
显示其GNU-bash内置,版本4.4.19(1)。当命令行中的I
cd-dir
时,谁的内置正在工作


执行所用shell的内置命令。如果不确定它是哪个shell,请输入
echo$0

read
是一个shell内置项。要获取有关读取和其他内置内容的帮助,请键入
help read
help cd
,等等。您没有在BSD站点上找到正确的
read
文档页面。您找到的是关于系统调用的,您对shell命令感兴趣。这是正确的一页,但说明不了多少。您可以在中找到
read
的文档(因为它是一个内部
bash
命令),或者通过运行
manbash
。这是一个很长的文档,请耐心等待。
man cd
显示其BSD内置,
help cd
显示其GNU bash内置,版本4.4.19(1)。当命令行中的I
cd dir
时,谁的内置正在工作@Pawamoy
read
是一个内置的shell。要获取有关读取和其他内置内容的帮助,请键入
help read
help cd
,等等。您没有在BSD站点上找到正确的
read
文档页面。您找到的是关于系统调用的,您对shell命令感兴趣。这是正确的一页,但说明不了多少。您可以在中找到
read
的文档(因为它是一个内部
bash
命令),或者通过运行
manbash
。这是一个很长的文档,请耐心等待。
man cd
显示其BSD内置,
help cd
显示其GNU bash内置,版本4.4.19(1)。当命令行中的I
cd dir
时,谁的内置正在工作@Pawamoycoull我问
man cd
显示它的BSD内置,
help cd
显示它的GNU bash内置,版本4.4.19(1)。当我在命令行中输入
cd dir
时,谁的内置在工作?@工具我认为BSD内置只与其
sh
实现相关(可执行
sh
csh
)。因为Bash是Bash,所以在Bash中键入
cd
使用Bash的内置
cd
。您可以使用
键入cd
进行验证。我可以问一下
man cd
是否显示了它的BSD内置,
help cd
显示了它的GNU bash内置,版本4.4.19(1)。当我在命令行中输入
cd dir
时,谁的内置正在工作?@工具我认为BSD内置只与其
sh
实现相关(可执行
sh
csh
)。由于Bash是Bash,因此在Bash中键入
cd
使用Bash的内置
cd
。您可以使用
键入cd
进行验证。我尝试了
$man Bash | sed-n'/^*read\[/,/^$/p'
和'man Bash | sed-n/^*read[/,/^$/p'