带实例的shell 的一些语法学习

106 阅读1分钟
# 代码逻辑
# url只有两种格式:
# 1 起头不带数字:直接下载
# 2 起头带{数字}:表示从当前视频下载到第{数字}集

# 数组格式:括号括起来 用空格分割
urls=(
  "https://www.bilibili.com/video/BV1Af4y1P7QC?from=search&seid=6476016587177844167&spm_id_from=333.337.0.0"
  "2https://www.bilibili.com/video/BV1TU4y1j7Wd?p=1"
)

# 循环格式
# 获取数组所有元素: ${urls[*]}
# 字符串等于判断: ["a" = "b"]
# 字符串截取:${url:0:1} 从第0个位置开始截取1个字符
# 实时计算:$((length - 2))
# 字符串拼接: 直接写"$subUrl""$i"
# 循环格式
# 条件判断
for url in ${urls[*]}; do
  if [ "${url:0:4}" = "http" ]; then
    lux "$url"
  else
    length=${#url}
    end=${url:0:1}
    start=${url:$((length - 1)):1}
    subUrl=${url:1:$((length - 2))}
    for i in $(seq "$start" "$end"); do
      lux "$subUrl""$i"
    done
  fi
done