我有一个程序叫执行程序用 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 脚本中。桌面文件不适合编写严肃的脚本。