Qt Creator - 如何 运行 使用涉及进程替换的命令行参数进行编程
Qt Creator - How to run program with cmd line arguments involving process substitution
我正在尝试 运行 我的程序从 Qt Creator 使用涉及进程替换的命令行选项。这是命令(我希望写入文件的每一行都加上时间和日期,通过 predate.sh 实现,而终端的输出保持不变):
$ exec | tee >(predate.sh > output.txt)
但是,我收到错误
/bin/sh: -c: line 0: syntax error near unexpected token `('
我的默认 shell 是 bash,我的 运行 环境中的 SHELL 变量也是 /bin/bash。如果我从终端执行该程序,但在 Qt Creator 中启动该程序,则此命令有效。
进程替换是bash
的一个特性,而QtCreator显然被硬编码为使用sh
来执行运行命令。您可以将 bash
注入到您的命令中,如下所示:
$ exec | bash -c 'tee >(predate.sh > output.txt)'
我正在尝试 运行 我的程序从 Qt Creator 使用涉及进程替换的命令行选项。这是命令(我希望写入文件的每一行都加上时间和日期,通过 predate.sh 实现,而终端的输出保持不变):
$ exec | tee >(predate.sh > output.txt)
但是,我收到错误
/bin/sh: -c: line 0: syntax error near unexpected token `('
我的默认 shell 是 bash,我的 运行 环境中的 SHELL 变量也是 /bin/bash。如果我从终端执行该程序,但在 Qt Creator 中启动该程序,则此命令有效。
进程替换是bash
的一个特性,而QtCreator显然被硬编码为使用sh
来执行运行命令。您可以将 bash
注入到您的命令中,如下所示:
$ exec | bash -c 'tee >(predate.sh > output.txt)'