记录控制台

时间:2017-10-05 13:08:48

标签: linux bash shell unix logging

我正在尝试在控制台中记录某些内容,但它无法正常工作。输出是:

Resolving...
+ /keyboard
+ /keyboard/windows.keylayout
+ /keyboard/hardware.txt
Addition count 3 src: 60.42KB
 61868 / 61868 [====================================================] 100.00% 0s

我希望将其放入.log文件中。

但它只需要"解决...",当我执行"script >> script.log"作为第一个行时,我想这是因为" +",如何解决这个问题,它会将所有输出记录到该文件中?

cd /home/andre/test/ && /usr/local/bin/drive_armv7 pull -no-prompt keyboard 2>&1 >> error.log

感谢。

2 个答案:

答案 0 :(得分:1)

作业顺序?

cd /home/andre/test/ && /usr/local/bin/drive_armv7 pull -no-prompt keyboard 2>&1 >> error.log

告诉stderr去stdout去哪里,哪个是终端。然后你告诉stdout进入日志。切换它们 -

cd /home/andre/test/ &&
/usr/local/bin/drive_armv7 pull -no-prompt keyboard >> error.log 2>&1  

告诉stdout进入日志,然后告诉stderr去stdout去哪里...现在是日志。

答案 1 :(得分:0)

可能是您正在运行名为script

的默认程序
user@apollo:~$ script test
Script started, file is test

user@apollo:~$ which script
/usr/bin/script

如果"脚本"是一个名为" script.sh"的本地可执行文件,您应该按以下方式运行它

./script.sh

尝试重现您的问题不会产生意外输出

cat > script.sh <<EOF
echo "Resolving..."
echo "+ /keyboard"
echo "+ /keyboard/windows.keylayout"
echo "+ /keyboard/hardware.txt"
echo "Addition count 3 src: 60.42KB"
echo "61868 / 61868 [====================================================] 100.00% 0s"
EOF
chmod +x script.sh
./script.sh >> script.log
cat script.log

意外行为取决于您的脚本尝试执行的操作