出於好奇,這裏發生了什麼?什麼是這個PHP exec()的字符串與變量結果的解釋?
要麼我真的很累,要麼我看到的唯一區別是第二個exec使用一個字符串,而前一個使用同一個字符串的變量。
//代碼
$command = "sudo /bin/mount /dev/sdd1 /a 2>&1";
echo "[mountDev] command=$command\n";
exec($command,$ouput,$ret_val);
debugArr("mountDev",$output,$ret_val);
$new_command="sudo /bin/mount /dev/sdd1 /a 2>&1";
echo "[mountDev] comman2=$new_command\n";
exec("sudo /bin/mount /dev/sdd1 /a 2>&1",$output,$ret_val);
// error handling
debugArr("mountDe2",$output,$ret_val);
//輸出
[mountDev] device=/dev/sdd1
[mountDev] command=sudo /bin/mount /dev/sdd1 /a 2>&1
[mountDev] output=
[mountDev] retval=32
[mountDev] comman2=sudo /bin/mount /dev/sdd1 /a 2>&1
[mountDe2] output=Array
(
[0] => mount: you must specify the filesystem type
)
[mountDe2] retval=32
這些是一個接一個地運行嗎?如果你嘗試掛載一個已經掛載的分區,我認爲'mount'會給出一個錯誤(雖然不一定是那個)。 – 2011-12-30 20:12:34
要修正'你必須指定文件系統類型'錯誤,你應該在'mount'後加'-t'。 –
2011-12-30 20:21:01
是的,我知道這一點。我試圖在用戶嘗試裝入沒有文件系統的驅動器時執行錯誤處理部分,該文件系統會回覆您的第一條評論,因爲此「安裝」命令完全不起作用,因爲「測試」磁盤沒有文件系統 – 2011-12-30 20:32:04