我需要檢查創建和新的目錄和打印錯誤離子不能有人從他們像下面的改變DIR:如何使if語句
[ mkdir tmp && cd tmp ] || echo "error"
但我發現了以下錯誤:
[: missing `]'
我需要檢查創建和新的目錄和打印錯誤離子不能有人從他們像下面的改變DIR:如何使if語句
[ mkdir tmp && cd tmp ] || echo "error"
但我發現了以下錯誤:
[: missing `]'
&&
不允許一個test
命令的括號內,因此丟失的]
是bash
認爲應該是tmp
和&&
之間的一個。
你的命令的正確形式是
mkdir tmp && cd temp || echo "error"
如果mkdir
失敗(或cd
mkdir
成功後失敗),然後執行echo
。不需要test
/[
命令。
[ -d tmp ] || mkdir tmp
可能是你在找什麼。這將檢查目錄的存在,然後創建該目錄(如果該目錄不存在)。
[ -d tmp ] || mkdir tmp || echo "failure"
如果mkdir失敗,將顯示一條消息。
抱歉,請更新topit – Erik
或更詳細更清晰,但版本:
if [ ! -d temp ] # if there is no directory
then
mkdir temp
fi
如果'mkdir'失敗,將打印錯誤消息。你的回聲是多餘的,並寫入錯誤的地方。錯誤消息屬於stderr。 –