我一直在網上搜索,但找不到適合我情況的答案。我相信這是第一次?
無論如何,這就是我想要做的;
#!/bin/bash
if source <(curl -s -f http://example.com/$1.txt); then
echo "Found the file"
else
echo "Couldn't find it"
fi
http://example.com/$1.txt當我像這樣運行腳本時,這應該是 bash 的來源;./myscript.sh fileName同時隱藏任何成功的錯誤輸出,因為我不希望它們出現。
但是,雖然它對存在的檔案作業正常,但它仍然說"Found the file"即使檔案不存在并且由于-f標志而從空檔案中獲取 bash 。如果我洗掉該-f標志,那么它會作業并說,"Couldn't find it"但它也會回傳一個 HTTP 錯誤,因為該檔案不存在,正如我所說,我也想隱藏這些錯誤。
我該如何解決這個問題?
uj5u.com熱心網友回復:
結果代碼source只是源檔案中的最后一個命令。如果檔案是空的(如果curl失敗也是如此)那就是成功了。
您可以做的是curl單獨防止錯誤。
if source <(curl -s -f "http://example.com/$1.txt" || echo "exit $?"); then
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/321157.html
上一篇:前端部署服務器記錄
下一篇:697-細談IP協議
