Bash
如何使用 select 從包含列表的 x 文件中進行選擇,這些文件需要針對執行一組命令,在本例中為 curl
我有大約 100 個用於健康檢查的 URL 列表(200、300,400,500),但無法弄清楚提出問題的術語。提前,我道歉。
我想使用一個列表來選擇包含 URLS 的已辨識列表文件,然後對其執行 curl 以獲得我的結果。目前,我很難過。
如果我隱式呼叫文件,我可以讓事情正常進行。如果我在要從中選擇的文件列表中再次使用選擇,我可以獲取該文件並對結果進行簡單的“cat”並成功獲取其中的 URL。
我似乎無法進行選擇,將文件放入其變數中,然後下一步進入循環以成功執行所選文件中的這些項目。
我很尷尬,它把我的頭髮弄得一團糟。
作品
select f in *.lst; do echo $f done
不以任何方式或格式工作
select f in *.lst; for i in (cat $f); do curl $i done bash -x ./test.sh + select f in '*.lst' 1) availability_health_check.lst 3) facility_service_health_check.lst 2) explorer_health_check.lst 4) mobile_service_health_check.lst #? 1 + echo availability_health_check.lst availability_health_check.lst
您的程式碼缺少一個
do
和done
您的select
聲明。我相信你想要這樣的東西:select f in *.lst; do for i in $(cat $f); do curl "$i" done done
這將允許您選擇一個文件,然後在所選文件的每一行上執行 curl。
exit 0
如果希望在您選擇文件後退出腳本,請在 for 循環之後添加一個。