例如,
matlab -nodesktop -singleCompThread < run%d/run.m
我知道这意味着matlab假设在run%d目录中使用run.m文件,但它对于一般的shell意味着什么?
答案 0 :(得分:6)
有关重定向的信息,请参阅bash手册:http://www.gnu.org/s/bash/manual/html_node/Redirections.html
答案 1 :(得分:4)
本身,命令 <
filename 告诉shell运行命名的命令,其输入来自文件< em> filename ,而不是您键入命令行的终端。
您也可以采用其他方式,使用命令 >
filename 将命令输出发送到文件中。
实际上有两个不同的输出流连接到终端 - 正常的输出流,称为“标准输出”并由>
重定向,以及“标准错误”流,让程序告诉您何时即使正常输出进入文件而不是终端,也会出现问题。如果您真的不想看到这些错误消息,但希望它们也能进入终端,您可以使用>&
filename 。
如果要将错误发送到各自的文件中,可以使用2>
* error_filename *;只留下标准输出流,转到您的终端或您使用>
或|
发送的任何地方。
你可以做更多的事情,比如将一个命令的输出用作另一个命令需要文件名的文件。有关详细信息,请参阅the link konsolebox posted。
答案 2 :(得分:1)
它将命令的输入从键盘更改为该文件
答案 3 :(得分:0)
大致相当于
cat run%d/run.m | matlab -nodesktop -singleCompThread
可能有一些我不知道的细微差别。但它基本上将run%d/run.m
的内容发送到matlab
作为“键盘”输入(通过标准输入)。