gpt4 book ai didi

linux - 在 Linux 中重定向输入

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:37:52 25 4
gpt4 key购买 nike

我有 2 个文件:test 和 input1。以下是我的“测试”文件:

echo $1 $2

更改输出就像我在终端中写入时一样:

./test foo bar > input1 

字符串“foo bar”被写入 input1。然而,当我在终端中写入时:

./test < input1

终端中打印的所有内容都是跳过的行。

知道为什么“foo bar”没有被打印到终端吗?

最佳答案

这是因为test不回显标准输入,它回显命令参数

$1$2 表示命令行上的第一个和第二个参数,它们是测试回显的内容。

小于 ("<") 符号重定向标准输入(默认情况下,交互式 shell 中的控制台)并且您将发送到 test 的标准输入重定向为来自 input1 ,但是 test 甚至不查看标准输入,它只查看命令行参数。

为了让 shell 的行为更像您期望的那样,您必须获取 input1 的内容并将其放入传递给 test 的命令参数中。

也许这就是你想要的:

./test $(cat input1)

关于linux - 在 Linux 中重定向输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13638673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com