稀里糊塗的,盡力了解一下執行的指令。
照著說明書要求執行這條指令,不過不想單純依樣畫葫蘆,努力明白作者要做的是什麼。
curl "https://example.com/list.php?pass=AUTHORIZED_KEY&url=https://example.com/whitelist.txt" -s -o /dev/null
Curl
- 指令,這裡是發出
GET
,向目標網址要求資料。
- 指令,這裡是發出
-s
- 參數,靜默模式不輸出錯誤或進度資料。
-o
- 參數,將回傳的資料儲存成檔案,例:
-o example.txt
。
- 參數,將回傳的資料儲存成檔案,例:
/dev/null
- 空裝置,所有輸入其中的資料都會被拋棄。
-s -o /dev/null
- 參數,位置不一定必須放在指令後:
curl -s -o /dev/null xxx
,可以放在指令後的任意地方,因為系統是一次讀取整條指令。
- 參數,位置不一定必須放在指令後:
- 雙引號
""
- 由於
&
對於系統另有含義,因此網址存在&
的話要以雙引號""
來讓系統讀取完整的網址,避免誤讀&
。
- 由於
疑問
- 為什麼要輸入
/dev/null
,不加入-o
不就好了嗎? - 這種方式跟翻看討論時提到的
>/dev/null 2>&1
差異在哪? - 參數放置的位子好像不是真的沒差?
這些都是一些碎片知識,不懂的實在太多,甚至獲取的部分是否正確也未可知。從n多年前一直想學,結果到了如今所記卻還只是這麼粗淺的筆記。