你好,我正在尝试通过以下调用从 QML 创建一个文件夹QProcess
:
qproc.start("/bin/sh -c 'mkdir -p /tmp/x'");
它什么都没做。也没有返回任何错误。从我读到的内容来看,这个语法应该是正确的,是吗?可能是权限问题吗?如何检查?
我尝试运行以下命令来了解 qml 脚本的运行用户是谁:
qproc.start(/bin/sh -c 'whoami &> \"/tmp/mlog.txt\"'");
但未创建输出文件...
我应该看哪里?
上下文:此 QML 脚本是MuseScore作为 AppImage 运行的应用程序。我无法访问后端。我必须使用纯 QML 解决方案。
答案1
关键在于引号。这两个表达式必须像这样写,并且引号的顺序必须精确。
qproc.start("/bin/sh -c \"mkdir -p '/tmp/x/'\"");
和
qproc.start("/bin/sh -c \"whoami > /home/vboxuser/Documents/log.txt\"");