相关疑难解决方法(0)

连接 STDOUT 和 STDIN 是什么意思?

我在看一本书,上面写着:

每个进程至少有三个可用的通信通道:“标准输入”(STDIN)、“标准输出”(STDOUT)和“标准错误”(STDERR)。

大多数命令接受来自 STDIN 的输入并将其输出写入 STDOUT。他们将错误消息写入 STDERR。此约定允许您像构建块一样将命令串在一起以创建复合管道。

Shell 将符号<>和解释>>为将命令的输入或输出重新路由到文件或从文件重新路由的指令。

要将一个命令的 STDOUT 连接到另一个命令的 STDIN,请使用| 通常称为管道的符号。

ps -ef | grep httpd
Run Code Online (Sandbox Code Playgroud)

所以基本上这就是说标准输入是一个允许用户写入文件的命令,而标准输出是一个命令让 bash shell 将输出写入 shell,而标准错误就像输出一样,但它只是当文件系统出现错误时调用。然后我们到了连接 STDOUT 和 STDIN 的部分,我迷路了。

shell pipe io-redirection stdout stdin

10
推荐指数
2
解决办法
7219
查看次数

将文件内容转换为小写并将结果存储在同一文件中

我使用以下命令将我的输入文件内容转换为小写

tr A-Z a-z < input > output 
Run Code Online (Sandbox Code Playgroud)

这个命令工作正常。

但是当我尝试将输出存储在输入文件本身中时,它不起作用。执行命令后输入文件为空。为什么?

 tr A-Z a-z < input > input 
Run Code Online (Sandbox Code Playgroud)

linux command-line tr

3
推荐指数
1
解决办法
3080
查看次数

标签 统计

command-line ×1

io-redirection ×1

linux ×1

pipe ×1

shell ×1

stdin ×1

stdout ×1

tr ×1