我有两个脚本,A和B.
我需要将脚本A中的所有终端输出捕获到文件中。我知道我可以这样做:
A |tee myfile.log
或A > myfile.log
但是,当我从脚本B执行此操作时,它不起作用(脚本A运行正常,但输出未重定向)。
实施例。脚本A:
echo "I'm script A"
实施例。脚本B:
echo "Starting script B"
A |tee myfile.log
echo "Finished script B"
./B.sh
输出:
I'm script A
答案 0 :(得分:2)
这对我来说似乎运作得很好。您需要./
,因为脚本'a'不在您的$ PATH中。 ./
表示'查看我的脚本的当前目录,而不是查看$ PATH中指定的所有目录。
#!/bin/bash
echo "Starting script B"
./a.sh | tee myfile.log
echo "Finished script B"