- 使用ANSI实现进度条
控制
参考文章:https://my.oschina.net/jcseg/blog/178047
#!/bin/bash
for i in {1..100}
do
((y=i+1))
x=`awk 'BEGIN{OFS="#";NF="'${y}'";print}'`
printf "\033[41m\033[1m[%-100s] %d%% \r \033[0m" ${x} ${i}
sleep 0.1s
done
echo ''
- 通用启动脚本
#!/bin/bash
prog=program_name
start(){
echo $"$prog is starting...."
nohup java -Dfile.encoding=utf-8 -Dloader.path=. -jar ${jar} > /dev/null 2>&1 &
}
restart(){
stop
start
}
status(){
pid=$(ps -ef|grep $prog | grep -v grep | awk '{print $2}')
if [ "${pid}" != "" ];then
echo $"$prog is running with pid: $pid"
else
echo $"$prog is stopped!"
fi
}
stop(){
echo $"Stoppint $prog: "
pid=$(ps -ef|grep $prog | grep -v grep | awk '{print $2}')
kill -9 $pid
echo $"$prog with $pid stopped!"
}
case "$1" in
start)
start
;;
restart)
restart
;;
stop)
stop
;;
status)
status
;;
*)
echo $"Usage: $prog {start|stop|restart|status||help}"
esac
exit
- 日期循环
start=20200801
end=20200921
for i in {0..1000}
do
day=$(date -d "$i days $start" +"%Y%m%d")
if [ $day -le $end ]
then
echo $day
else
break
fi
done