2017-02-23 88 views
1

我是bash初学者。 我正在尝试将bash scipt的输出重定向到一个文件中。除了一行的输出外,其他所有内容都被重定向到文件。 这一行正在创建一个文件,但没有写入任何内容。bash脚本不会将stdout重定向到文件

(cmdpid=$BASHPID; (sleep 3; sudo kill $cmdpid) & exec sudo hcitool lescan) > file 

这不是工作之一:

(cmdpid=$BASHPID; (sleep 3; sudo kill $cmdpid) & exec sudo hcitool lescan > file) 

当我执行我的bash脚本线路的输出上面会显示出来,但是当我重定向到一个文件,它不会。 请帮帮我。

+0

结束也许你也应该重定向标准错误?用'> file 2>&1' – Pawamoy

+0

我已经测试过了,文件不是空的。如果我在不输出输出的情况下启动脚本,则会得到如下内容:“LE Scan ...” 。如果我将stdout,stderr传递给文件,它将保持为空。 – Felix

+1

你为什么使用“exec”?我无法确定它是否与您的问题有关,但我认为这不是必需的,我建议您将其删除,以查看您的脚本是否有不同的表现。 – Fred

回答

0

当重定向标准输出尝试使用1>file,或者如果要追加输出到文件1>>file

相关问题