Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux bash脚本不会将标准输出重定向到文件_Linux_Bash_Pipe - Fatal编程技术网

Linux bash脚本不会将标准输出重定向到文件

Linux bash脚本不会将标准输出重定向到文件,linux,bash,pipe,Linux,Bash,Pipe,我是bash初学者。 我试图将bash scipt的输出重定向到一个文件中。除了一行的输出外,所有内容都重定向到该文件。 此行正在创建一个文件,但没有写入任何内容 ( cmdpid=$BASHPID; (sleep 3; sudo kill $cmdpid) & exec sudo hcitool lescan ) > file 这也不起作用: ( cmdpid=$BASHPID; (sleep 3; sudo kill $cmdpid) & exec sudo hcit

我是bash初学者。 我试图将bash scipt的输出重定向到一个文件中。除了一行的输出外,所有内容都重定向到该文件。 此行正在创建一个文件,但没有写入任何内容

( 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脚本时,上面一行的输出将显示出来,但当我将它重定向到一个文件时,它不会显示出来。
请帮助我。

重定向标准输出时,请尝试使用
1>文件
,或者如果您想将输出附加到文件
1>文件的末尾
重定向标准输出时,请尝试使用
1>文件
或者如果您想将输出附加到文件
1>文件的末尾
,也许您也应该这样做重定向stderr?使用
>文件2>&1
我已经测试过了,文件是空的。如果我启动脚本时没有管道输出,我会得到类似“LE Scan…”的结果。如果我通过管道将stdout、stderr传输到文件,它将保持为空。为什么要使用“exec”?我不能确定它是否与您的问题有关,但我认为这不是必需的,我建议您删除它以查看您的脚本是否有不同的行为。此外,如果您需要以root身份运行脚本,则在调用脚本时使用
sudo
脚本可能更简单,您是否可以提供在没有
>文件的情况下获得的输出
也许您还应该重定向stderr?使用
>文件2>&1
我已经测试过了,文件是空的。如果我启动脚本时没有管道输出,我会得到类似“LE Scan…”的结果。如果我通过管道将stdout、stderr传输到文件,它将保持为空。为什么要使用“exec”?我不能确定它是否与您的问题有关,但我认为这不是必需的,我建议您删除它以查看您的脚本是否有不同的行为。此外,如果您需要以root身份运行脚本,则在调用脚本时使用
sudo
脚本可能更简单,而不是每个单独的命令。您是否可以提供在没有
>文件的情况下获得的输出