fuck-xuexiqiangguo / Fuck-XueXiQiangGuo

学习强国 懒人刷分工具 自动学习
MIT License
8.34k stars 1.8k forks source link

自动化运行脚本,linux版 #530

Open bobyjx opened 4 years ago

bobyjx commented 4 years ago

脚本linux,保存为sh可运行。

!/bin/bash

echo -ne "\033[?25l" app_name=xxxx #软件名称(写需要启动的软件名称,最好为英文) app_path=./ #软件路径 username=xxxxxxx #用户名(xxx替换为自己的) passwd=xxxxxxx #密码(xxx替换为自己的) t_min_h=75 #间隔最小时间(75为7.5小时) t_max_h=80 #间隔最大时间(80为8小时)

function start() { exec $app_path$app_name --appname=$app_name >/dev/null 2>&1 & #扫码登录

exec $app_path$app_name --username=$username --passwd=$passwd --appname=$app_name >/dev/null 2>&1 & #自动登录

echo -ne "\033[1A"
echo -ne "\r     \r" #清除本行文字

}

function kill_PROCESS() {
ps -aux | grep $app_name | grep -v grep | awk {'print $2'} | xargs kill -2
}

function random() { min=$1; max=$2-$1; num=$(date +%s+%N); ((retnum=num%max+min)); echo $retnum; }

main()
{
t_min=$(($t_min_h606))
t_max=$(($t_max_h606))
cd dirname $0 count=0 while [ 1 ] ; do propserverpid=ps -aux | grep $app_name | grep -v grep | awk {'print $2'}
if [ ! "$propserverpid" ] then
seconds_left=$(random t_min t_max) dd=date '+%Y-%m-%d %H:%M:%S' dd2=date -d "$dd" '+%Y-%m-%d %H:%M:%S' dd3=date -d "$dd2" '+%s' dd3=expr $dd3 + $seconds_left time=$(date -d "1970-01-01 UTC "$dd3" seconds" +"%Y-%m-%d %H:%M:%S") start echo "=======================================================" echo "刷新次数 :${count} " echo "程序启动 :${dd}" echo "下次刷新 :${time}" while [ $seconds_left -gt 0 ];do dd5=date '+%Y-%m-%d %H:%M:%S' hh=$(($seconds_left/60/60)) mm=$((($seconds_left-($hh6060))/60)) ss=$(($seconds_left-($hh6060)-($mm*60))) echo "系统时间 :${dd5} " echo "运行剩余 :${hh}h ${mm}m ${ss}s (共计:${seconds_left}秒) " sleep 1 seconds_left=$(($seconds_left - 1)) echo -ne "\033[1A" echo -ne "\r \r" #清除本行文字 echo -ne "\033[1A" echo -ne "\r \r" #清除本行文字 done count=$(($count + 1))
else dd4=date '+%Y-%m-%d %H:%M:%S' kill_PROCESS echo "程序结束 :${dd4}" echo "=======================================================" sleep 600 fi done
}
main

wujun001 commented 4 years ago

树莓派 Raspbian GNU/Linux 10 (buster)

执行效果如下,什么造成的?

pi@raspberrypi:~/Desktop $ ./autostart.sh ./autostart.sh: line 36: cd: too many arguments ./autostart.sh: line 39: -aux: command not found ./autostart.sh: line 28: ((: retnum=num%max+min: division by 0 (error token is "max+min") ./autostart.sh: line 43: +%Y-%m-%d %H:%M:%S: command not found ./autostart.sh: line 44: -d: command not found ./autostart.sh: line 45: -d: command not found

刷新次数 :0 程序启动 : 下次刷新 :1970-01-01 08:00:01 ./autostart.sh: line 53: [: -gt: unary operator expected ./autostart.sh: line 39: -aux: command not found ./autostart.sh: line 28: ((: retnum=num%max+min: division by 0 (error token is "max+min") ./autostart.sh: line 43: +%Y-%m-%d %H:%M:%S: command not found ./autostart.sh: line 44: -d: command not found ./autostart.sh: line 45: -d: command not found

刷新次数 :1 程序启动 : 下次刷新 :1970-01-01 08:00:01 ./autostart.sh: line 53: [: -gt: unary operator expected ./autostart.sh: line 39: -aux: command not found ./autostart.sh: line 28: ((: retnum=num%max+min: division by 0 (error token is "max+min") ./autostart.sh: line 43: +%Y-%m-%d %H:%M:%S: command not found ./autostart.sh: line 44: -d: command not found ./autostart.sh: line 45: -d: command not found

刷新次数 :2 程序启动 : 下次刷新 :1970-01-01 08:00:01 ./autostart.sh: line 53: [: -gt: unary operator expected ./autostart.sh: line 39: -aux: command not found ./autostart.sh: line 28: ((: retnum=num%max+min: division by 0 (error token is "max+min") ./autostart.sh: line 43: +%Y-%m-%d %H:%M:%S: command not found ./autostart.sh: line 44: -d: command not found ./autostart.sh: line 45: -d: command not found

wujun001 commented 4 years ago

pi@raspberrypi:~ $ date Sat 04 Jul 2020 07:00:25 PM CST

bobyjx commented 4 years ago

不好意思,我只在Ubuntu和deepin测试过没问题,其他系统没测试过。

wujun001 commented 4 years ago

变量:t_min_h606,t_min_h606、hh6060哪里定义了?脚本里面这些变量都没定义就引用了呀。

wujun001 commented 4 years ago

可以的话麻烦加上注释,谢谢

AnnieXu0608 commented 4 years ago

不好意思问下,怎么能账号密码登录啊,我app账号密码登录没问题, 但是这个脚本上就不行, --username=xxxx --passwd=“xxx”, 有什么原因么?

yu-xxhhxx commented 4 years ago

话说 异地登录 会封号吗 如果用这个脚本的话

yu-xxhhxx commented 3 years ago

不好意思问下,怎么能账号密码登录啊,我app账号密码登录没问题, 但是这个脚本上就不行, --username=xxxx --passwd=“xxx”, 有什么原因么?

我也是这个问题.弹出钉钉授权的对话框,然后跳转说没有接口.

hccgk commented 3 years ago

mac 可以运行linux版本吗