根據這個,我可以使用這個命令得到它:
dscl . -read ~/ UserShell
因此,我使用以下代碼撰寫了此代碼Qt:
QProcess p;
p.setProcessChannelMode(QProcess::MergedChannels);
p.start("dscl", QStringList() << "." << "-read" << "~/" << "UserShell");
p.waitForFinished();
auto result = QString::fromUtf8(p.readAll());
但是,result是空的。我究竟做錯了什么?此命令在終端應用程式中運行良好。
添加#1。這有效,但看起來很愚蠢:)
p.start("bash", QStringList() << "-c" << "dscl . -read ~/ UserShell")
uj5u.com熱心網友回復:
我認為唯一的選擇是擴展~自己。所以像(未經測驗)......
p.start("dscl", QStringList() << "." << "-read" << QDir::homePath() << "UserShell");
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/345118.html
