考虑这些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
答案1
由于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
但这当然只适用于非常合适的名称)。
答案2
我通过使用 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