2016-10-16 126 views
-3

阅读时退出状态返回非零值 如果bash时遇到EOF是无类型语言的bash脚本:退出状态

[email protected]:~$ read var1 

    me 
[email protected]:~$ echo $? 
0 
[email protected]:~$ read var1 

[email protected]:~$ echo $? 
0 
+0

欢迎来到Stack Overflow。请尽快阅读[关于]和[问]页面。我已尽力使您的问题更具可读性,但我无法在“false”一词后面解释您的意思。请编辑该问题以澄清您所问的内容。 –

+0

变量分配几乎总是返回'0'。最近有一个关于这方面的问题,并有一个很好的答案。搜索'[bash] return'并按日期排序。更一般地说,当msg出现错误时'$?'将不为零。尝试'真实; echo $? ;错误; echo $?; grep none-such/etc/groups; echo $? ; grep abc/path/to/non-existingfile; echo $?'看看我的意思。祝你好运。 – shellter

回答

1

read返回非零值。在其他情况下它也可能返回非零值。运行help read以了解这些情况适用于您的bash版本。对于矿山,它说:

返回代码是零,除非结束文件时遇到 ,读超时,或无效的文件描述符为 提供给-u参数。