OS = Mac OS X.
殼是bash。爲什麼不從mkdir返回代碼?
我想驗證在shell腳本中創建一個目錄。但是,我似乎沒有得到一個返回碼。這裏是shell代碼:
#!/bin/bash
rv=$(mkdir lib)
echo "The code = $rv !"
if [ "$rv" == "0" ]
then
echo "created the dir"
else
echo "no can do, compadre."
fi
和輸出:
mkdir: lib: File exists
The code = !
no can do, compadre.
與否的目錄中創建,該else
條件始終爲真,因爲$rv
變量是從來沒有「0」。但它似乎沒有任何整數。手冊頁說
DIAGNOSTICS
The mkdir utility exits 0 on success, and >0 if an error occurs.
谷歌搜索沒有成功。任何幫助表示讚賞。
謝謝!就是這樣。我會標記它的答案,當我讓我(8分鐘去)。 – MadConan
作爲後續:如果我有捕獲標準輸出,爲什麼'mkdir:lib:文件存在'仍然使它到控制檯,而不是被存儲在'rv'中? – MadConan
@MadConan可能是因爲它被打印到標準錯誤(stderr),而不是標準輸出。 –