QProcess::execute 使用 su 命令
QProcess::execute with su command
我正在尝试从 Qt
项目调用 tar
:
QProcess::execute("/bin/su", {"-", "user", "-c", "\'/bin/tar xpf /tmp/smt.tbz2 -C /tmp\'"})
我得到的是:
-su: /bin/tar xpf /tmp/smt.tbz2 -C /tmp: No such file or directory
看起来 su
命令没有正确解释 -c
之后的命令。
我认为问题在于您显式地引用了 运行 的命令:QProcess
竭尽全力确保按原样传递参数而不是进一步拆分。
改为尝试...
QProcess::execute("/bin/su", {"-", "user", "-c", "/bin/tar xpf /tmp/smt.tbz2 -C /tmp"});
我正在尝试从 Qt
项目调用 tar
:
QProcess::execute("/bin/su", {"-", "user", "-c", "\'/bin/tar xpf /tmp/smt.tbz2 -C /tmp\'"})
我得到的是:
-su: /bin/tar xpf /tmp/smt.tbz2 -C /tmp: No such file or directory
看起来 su
命令没有正确解释 -c
之后的命令。
我认为问题在于您显式地引用了 运行 的命令:QProcess
竭尽全力确保按原样传递参数而不是进一步拆分。
改为尝试...
QProcess::execute("/bin/su", {"-", "user", "-c", "/bin/tar xpf /tmp/smt.tbz2 -C /tmp"});