Curl

如果文件已在本地存在,請勿使用 curl 下載文件

  • February 6, 2018

我目前正在使用 curl:

curl https://example.com/file -o file

如果我的目錄中已經有一個文件file,它將被此命令覆蓋。相反,我想返回一條錯誤消息,告知該文件已經存在。

是否可以僅使用 curl 來做到這一點?我沒有看到要執行此操作的標誌,並且我沒有在 bash 腳本中執行該命令,因此在執行該命令之前我無法使用比較運算符。

可以通過以下測試來測試目錄中是否存在名稱-e

if [ -e "filename" ]; then
   echo 'File already exists' >&2
   exit 1
fi

curl -o "filename" "URL"

如果您不想在此時終止腳本:

if [ -e "filename" ]; then
   echo 'File already exists' >&2
else
   curl -o "filename" "URL"
fi

如果名稱存在,則測試將為真,無論該名稱是正常文件、目錄、命名管道還是其他類型的文件系統對象的名稱。

man test在您的系統上查看。

引用自:https://unix.stackexchange.com/questions/422306