我有一个问题。
我写了一个程序,我必须验证一些通过命令行传递的参数(我正在使用 argv[]
)并使用在 stdin 上重定向的文件作为输入。
该程序可以运行,但如果参数和重定向之间没有空格,我会遇到问题
as ./aout -s 30 20< ficso
这正常吗?我认为字符 <
由 bash 保留。
谢谢
最佳答案
像这样直接针对重定向运算符放置的数字会将其变成不同的重定向运算符,在本例中,它从 FD 20 而不是 FD 0 获取输入。
关于如果参数和重定向之间没有空格,则 Bash 不正确的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38153894/