Shell技巧记录
中括号判断字符串用"="
if [[ ${pkg} = p ]]; then
获取文件名后缀
suffix=${pkg##*.}
grep使用正则表达式"-E"
adb devices|grep -E "device$|unauthorized|offline"|grep -E -n "device$|unauthorized|offline"
if比较使用正则表达式
if [[ ${device} =~ ${pattern1} ]]; then
读取输入时显示提示"-p"
read -p "ip:port" ip
使用``包围输出的内容传入变量
type=`echo $device|awk '{ print $3 }'`
整数运算
let retry_time+=1
获取字符串前3个
if [[ ${serial:0:3} != 172 ]]
打印日期时间
date +%F" "%T
for循环
for (( count = 0; count < $times; count++ )); do let x1=${RANDOM}%${xmax} let x2=${RANDOM}%${xmax} let y1=${RANDOM}%${ymax} let y2=${RANDOM}%${ymax} adb -s ${serial} shell input swipe ${x1} ${y1} ${x2} ${y2} 30 echo ${count}/${times} swipes @${serial} \(${x1},${y1}\)-\>\(${x2},${y2}\) done
while循环和case选择
while(true) do case $flag in 1 )set_package_input ; flag=$?;; 2 )set_package_name ; flag=$?;; 3 )skip_pkg_tmp ; flag=$?;; 4 )select_device ; flag=$?;; 5 )check_device ; flag=$?;; 6 )select_tool ; flag=$?;; 7 )jump_to_tool ; flag=$?;; 8 )a1 ; flag=$?;; 9 )install ; flag=$?;; 10 )replace_install ; flag=$?;; 11 )un_install ; flag=$?;; 12 )uninstall ; flag=$?;; 13 )clear_data ; flag=$?;; 14 )input_text ; flag=$?;; 15 )input_tap ; flag=$?;; 16 )input_swipe ; flag=$?;; 17 )force_stop ; flag=$?;; 18 )grant_permission ; flag=$?;; 19 )wake_up ; flag=$?;; esac done
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?