我遇到了以下shell命令:
$prog.sh < file_name.json
我知道它是从文件中读取的,但是prog.sh
如何以及在何处加载文件?
答案 0 :(得分:2)
每个程序在启动时都有三个打开的文件句柄,其中一个是标准输入。通常,文件句柄是从父进程继承的。 <
运算符告诉shell,而不是将其标准输入传递给prog.sh
,而不是打开file_name.json
并将 文件句柄提供给prog.sh
}作为标准输入。
答案 1 :(得分:1)
$prog.sh < file_name.json
正如你猜对了。 <
用于重定向文件中的输入,以便您的脚本将从文件中读取(临时)stdin
(fd0)。
它从文件读取,但prog.sh将如何以及在何处加载文件
这取决于你打算如何去做。脚本中需要stdin
输入的任何命令现在都将从文件中读取。文本文件中的new line
字符(通常)代表stdin
中的↵。