使用 /bin/sh -c mkdir 从 QML 创建文件夹

使用 /bin/sh -c mkdir 从 QML 创建文件夹

你好,我正在尝试通过以下调用从 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\"");

相关内容