【发布时间】:2021-03-15 18:30:18
【问题描述】:
首先我创建了 3 个文件:
$ touch alpha bravo carlos
然后我想将列表保存到文件中:
$ ls > info.txt
但是,我的info.txt 总是在里面:
看起来重定向运算符首先创建了我的info.txt。
在这种情况下,我的问题是。在首先创建info.txt 之前如何保存我的文件列表?
主要问题是关于重定向运算符。为什么它先行动,以及如何延迟它以便我先完成我的任务?用上面的例子来回答。
【问题讨论】:
-
这是一个常见的常见问题解答。无法在命令之后执行重定向,但您可以重定向到不同目录中的文件(例如,
/tmp),然后将其移至此处。 -
在哪里可以找到有关它的更多信息。它会影响其他操作吗?可以用 Python 或 C 等其他语言实现吗?
-
ls | tee info.txt >/dev/null做你想做的事。我不会说它比 Tripleee 建议的更好,但它是一种替代方案。 -
两个答案都很棒!我很感激!我从 90 年代开始就在使用计算机,但我仍然无法将每一块都安装到位,所以我需要更多时间来了解操作系统,我不知道“空字节”、进程如何工作或字符编码。所以有一个平局,我还没有足够的代表来支持你的答案。
-
请注意,我在 Android 10 上的 Termux 中使用 Bash,我无权访问 / 或 /dev/null 中的任何内容,我也不希望这个问题成为Android 问题,因此任何 Linux/Bash 答案都是有效的。
标签: bash redirect operator-keyword