服务器脚本-干货合集(持续更新)

这里是编写工作中用到的一些脚本所用到的一些小技巧,写下来也是备忘
开发环境:mac(linux同理)

# 实现进度条功能
# echo输出命令大家都很熟悉了
# -n可以使光标不换行 -e可以将输出语句中的字符转义
# 有哪些可转义的字符百度都可以百度到不再赘述
# 其中\r的转义为将光标移至行首
echo -ne "print something\r"; # 意为:输出完语句之后,不换行且将光标移至行首
# 此时再向终端输出时会从行首开始输出,也就达到了只更新一行内容的目的
# 根据以上特性,再根据需求定制自己的进度条就好啦

demo:

#!/bin/bash 
# 参数为百分比值
updateBar(){
  num=`expr $1 / 2`
  str=$(seq -s '#' ${num} | sed 's/[0-9]//g')
  blankStr=''
  if [ $1 = 100 ]
  then
    echo "正在加载[${str}${blankStr}]$1%"
  else
    blankStr=$(seq -s ' ' `expr 50 - ${num}` | sed 's/[0-9]//g')
    echo -ne "正在加载[${str}${blankStr}]$1%\r"
  fi
}
for i in {1..100}
do
  updateBar ${i}
  # 这里为了表现明显一些,休眠50ms
  sleep 0.05
done

献丑了,现在再写加载类脚本就不会显得杂乱无章啦!进度显示清晰明朗!又是美好的一天!

你可能感兴趣的:(服务器脚本-干货合集(持续更新))