一、执行curl下载的脚本
1、直接执行
1
| bash <(curl -s 'http://demo.sh')
|
2、携带参数
shell脚本内通过$1,$2…获取入参。
1
| curl -s 'http://demo.sh' | bash -s arg1 arg2
|
二、读取文件内容/变量
1 2 3 4 5 6 7 8 9 10 11
| #!/bin/bash lines=$(grep -r "keyword" . --include="*.txt" -n) if [ "$lines" == "" ]; then echo "Not Found" exit fi
while IFS="\n" read -r line; do echo $line done <<<"$lines"
|
三、正则匹配
1 2 3 4 5 6 7 8 9 10 11
| if [[ "hello world" =~ (he..o).*(world) ]]; then echo "Matched" fi
firstGroup=${BASH_REMATCH[1]} secondGroup=${BASH_REMATCH[2]}
replaceOnce=${BASH_REMATCH[1]/l/o} replaceAll=${BASH_REMATCH[1]//l/o}
|
四、Echo着色输出
着色工具:https://ansi.gabebanks.net/
1 2 3 4 5 6 7 8 9 10 11 12 13
|
echo -e "\033[49mhello world!\033[0m" echo -e "\033[40mhello world!\033[0m" echo -e "\033[41mhello world!\033[0m" echo -e "\033[42mhello world!\033[0m" echo -e "\033[43mhello world!\033[0m" echo -e "\033[44mhello world!\033[0m" echo -e "\033[45mhello world!\033[0m" echo -e "\033[46mhello world!\033[0m" echo -e "\033[47mhello world!\033[0m"
|

颜色 |
背景色 |
前景色 |
Default |
49 |
39 |
Black |
40 |
30 |
Red |
41 |
31 |
Green |
42 |
32 |
Yellow |
43 |
33 |
Blue |
44 |
34 |
Magenta |
45 |
35 |
Cyan |
46 |
36 |
White |
47 |
37 |
五、判断上一条命令执行是否异常
1 2 3 4 5 6
| function exit_if_error() { if [ $? -eq 1 ]; then echo -e "\033[41;33mError Happens\033[0m" exit 1; fi }
|