#!/bin/bash #set -xv time=`date +%Y%m%d`_`date +%H%M%S` date=`date +%Y%m%d` mkdir -p /home/holo/GH05/APK/${date} #创建日期命名的文件夹 adb shell mkdir -p /data/screenrecord #在车机中创建录屏的临时文件夹 if [ "r" == "${1}" ] #参数为开始录屏 then while true ; do adb shell screenrecord /data/screenrecord/screenrecord_${time}.mp4; sleep 180 done; echo ${time}, 开始录屏 elif [[ "k" == "${1}" ]] #参数为kill录包进程 then #kill screenrecord pid_pro7=`ps -aux | grep screenrecord | grep -v grep | awk '{printf " " $2}'` if [[ ! -n $pid_pro7 ]]; then echo 后台无screenrecord进程可杀 else echo 正在杀掉screenrecord进程... kill $pid_pro7 sleep 1 pid_pro8=`ps -aux | grep screenrecord | grep -v grep | awk '{printf " " $2}'` if [[ ! -n $pid_pro8 ]]; then echo 后台screenrecord进程第1次就被干掉了 else sleep 1.5 kill -9 $pid_pro8 echo 后台screenrecord进程第2次才被干掉的 fi fi elif [[ "h" == "${1}" ]] #参数为录制算力数据 then adb shell top -d 1 -b | grep holo >/home/holo/GH05/APK/"$(date +"%Y%m%d")"/hashrate/TextData.txt else echo "input error." return 1; fi 这个会报错吗?
时间: 2024-02-14 11:22:08 浏览: 150
这段代码看起来没有语法错误,但它可能会因为一些其他因素而导致运行时错误。例如,如果脚本中使用的命令在系统中不存在,或者执行时没有足够的权限,就会导致错误。另外,如果输入的参数不是 "r"、"k" 或 "h",那么它也会返回 "input error."。你需要在运行脚本之前确保你具有足够的权限,并且输入的参数是正确的。
相关问题
#!/bin/bash logfile="mysql$(date +"%Y-%m-%d %H:%M:%S").log" mysql_pid=(pgrep -d, mysqld) echo ${mysqld_pid} >> "/home/xindun/2.log" top -p ${mysqld_pid} >> "$logfile"优化这段代码不要加注释
好的,这是不带注释的代码:
```
#!/bin/bash
logfile="/var/log/mysql$(date +"%Y-%m-%d_%H:%M:%S").log"
mysql_pid=$(pgrep mysqld)
if [ -z "$mysql_pid" ]; then
echo "MySQL process not found!" >&2
exit 1
fi
while true; do
top -b -n 1 -p "$mysql_pid" >> "$logfile"
sleep 5
done
```
这段代码与之前的代码相同,只是去掉了注释。
#!/bin/bash mem=`free -m |sed -n '2p'|awk '{print $3/$2*100}'` if [ `echo "$mem>10"|bc` -eq 1 ];then echo `date "+%Y/%m/%d %H;%M;%S"`" 内存负载过高 $mem%" >> 1.txt fi 换一种表达方式
#!/bin/bash
mem=$(free -m | awk 'NR==2{printf "%.2f\n", $3*100/$2 }')
if (( $(echo "$mem > 10" | bc -l) )); then
echo "$(date "+%Y/%m/%d %H;%M;%S") 内存负载过高 $mem%" >> 1.txt
fi
阅读全文