我正在尝试将我的标准错误/输出重定向(?)到一个文本文件。 我做了研究,但出于某种原因,在线答案对我不起作用。 我做错了什么?
cd /home/user1/lists/
for dir in $(ls)
do
(
echo | $dir > /root/user1/$dir" "log.txt
) > /root/Desktop/Logs/Update.log
done
我也试过
2> /root/Desktop/Logs/Update.log
1> /root/Desktop/Logs/Update.log
&> /root/Desktop/Logs/Update.log
这些都不适合我:(
请帮忙!
最佳答案
试试这个作为基础:
echo hello >> log.txt 2>&1
可以理解为:回显单词 hello,将 STDOUT 重定向并附加到文件 log.txt。 STDERR(文件描述符 2)被重定向到 STDOUT 指向的任何地方。请注意,STDOUT 是默认值,因此“>>”前面没有“1”。仅适用于当前行。
要重定向并附加脚本中所有命令的所有输出和错误,请将此行放在顶部附近。它将在脚本的长度内生效,而不是在每一行上执行:
exec >>log.txt 2>&1
关于linux - 如何将输出/错误打印到文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22670394/