0
據我所知,它進入一個目錄並遞歸併強制刪除./tmp。我的問題是與「-d ./tmp」。 -d做什麼,爲什麼「./」會在tmp前面?有人可以向我解釋這個shell腳本中發生了什麼嗎?
在此先感謝
cd $WORKING_DIR
if [ -d ./tmp}; then
rm -rf ./tmp
fi
據我所知,它進入一個目錄並遞歸併強制刪除./tmp。我的問題是與「-d ./tmp」。 -d做什麼,爲什麼「./」會在tmp前面?有人可以向我解釋這個shell腳本中發生了什麼嗎?
在此先感謝
cd $WORKING_DIR
if [ -d ./tmp}; then
rm -rf ./tmp
fi
它檢查./tmp
是否存在,是否是一個目錄。在這種情況下,它會將其刪除。
從man test
:
-d FILE
FILE存在且是一個目錄
順便說一句,語法有錯誤:
if [ -d ./tmp}; then
^
needs space and ] instead of }
正確:
if [ -d ./tmp ]; then
-1:至少要努力確保您的代碼示例不包含明顯的語法錯誤。 –
如果你要給rm加上'-f'標誌,檢查這個東西是否存在有什麼意義?我想這只是針對奇怪的角落情況,其中'。/ tmp'實際上是一個文件或套接字或其他東西...仍然... – twalberg