高效bash脚本
build-in commands
1 | if [[ "$var" -eq 3 ]];then |
minimize subshells
1 | output=$(<input.txt) |
array
1 | color=("red" "yellow" "blue") |
enable noclobber
可以防止overwrite。
1 | set -o noclobber |
file operation
1 | while IFS= read -f line |
parallel processing
1 | cat urls.txt | xargs -n 1 -P 4 curl -O |
error handling
脚本一出错就退出来。
1 | set -e |
个性化出错信息。
1 | command || { echo "command failded"; exit 1; } |
trap signals
1 | trap 'echo "error occurred"; cleanup; exit1' ERR |
validate inputs
1 | if [[ -z "$1" ]];then |
logging
1 | logfile="script.log" |
系统任务
系统备份
1 | set -e |
系统监测
1 | threshold=80 |
用户管理
1 | function add_user() { |
自动更新
1 | set -e |
网络配置
1 | function configure_network(){ |