如何重定向桌面入口的输出

如何重定向桌面入口的输出

我有一个程序叫执行程序用 C# 编写。我想在 mono 中用参数 (arg1) 运行此程序,并将输出重定向到名为日志.txt如果我
打开终端并输入命令:

mono --debug prg.exe arg1 > log.txt

一切正常。
当程序完成后,日志.txt该文件包含任何错误。

现在我想创建一个名为prg.桌面

[Desktop Entry]
Name=My prg
Comment=some comment
Icon=/usr/share/pixmaps/openbox.xpm
Exec=mono --debug prg.exe arg1 > log.txt
Type=Application
Encoding=UTF-8
Terminal=false
Categories=None;

如果我跑prg.桌面, 这日志.txt文件是不是创建。
上面的脚本经过简化。实际上,Exec 行包含指向执行程序日志.txt文件。
我需要做什么来创建日志文件?

非常感谢。

答案1

您不能直接执行此操作,因为该命令是直接执行的,而不是通过 shell 执行,所以 I/O 重定向在这里不起作用。

但是将它包装到 shell 调用中应该可以工作,就像这样:

Exec=sh -c "mono --debug prg.exe arg1 > log.txt"

请注意,虽然这对于进行一些调试来说完全没问题,但如果这是更持久的事情,我会将其移到 shell 脚本中。桌面文件不适合编写严肃的脚本。

相关内容