Command-Line
將下載實用程序(如 wget)的 url 合併到一行中
考慮以下
wget
程式碼:wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/nixta.sh
有沒有什麼優雅的方法可以將上述相同基本 URL 的不同終端合併成一行而不是 2 行或更多行?
虛擬碼:
wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh||nixta.sh
由於
wget
一次接受多個 URL,這可以使用大括號擴展來完成bash
:wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/{papj.sh,nixta.sh}
(甚至
wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/{papj,nixta}.sh
但這當然只適用於非常合適的名字)。
我已經通過使用 awk 命令和 for 循環來做到這一點。如有任何疑問和困惑,請告訴我
通過將以下內容放入文件中創建了一個文件 example.txt
貓範例.txt
wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/
我已將 papj.sh nixta.sh 分配給變數 i
使用下面的腳本根據您的要求執行
for i in papj.sh nixta.sh; do awk -v i="$i" '{print $0i}' example.txt; done
輸出
wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/papj.sh wget -P ~/ https://raw.githubusercontent.com/user/repo/branch/nixta.sh