目 录CONTENT

文章目录

Linux scrcpy 手机同屏

酷谷的谷子
2024-11-21 / 0 评论 / 0 点赞 / 15 阅读 / 0 字
温馨提示:
本文最后更新于2024-11-21,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

本文档介绍了使用bash脚本自动安装scrcpy工具,并在安装过程中验证USB调试模式和网络连接。脚本还包含了检测IP地址开放5555端口的功能,以及无线同屏和手机连接的过程。

安装scrcpy

  sudo apt-get update -y && sudo apt install scrcpy adb nmap -y
#!/bin/bash
LANG="zh_CN.UTF-8"
#sudo apt-get autoremove --purge scrcpy -y
key_data="`date +%Y年%m月%d日%H:%M:%S`"
key_title="密码用来保障你么次可以成功起动-scrcpy-[密码错误将直接推出该脚本]"
key=$(zenity --entry --width=500 --height=100 --title="$key_title"  --text="输入密码") || exit
echo "$key" | sudo -S $key_data 2>/dev/null
echo '$key'
install_scrcpy_1="脚本-已经为你安装了-scrcpy"
install_scrcpy_2="提示信息-无法同屏检测网络-多个一样的同屏-查看是否起动了多次该脚本"
if [ ! -f "/bin/scrcpy" ]
then
  sudo apt install scrcpy -y && zenity --info --width=500  --text="$install_scrcpy_1"
else
zenity --info --width=500  --text="$install_scrcpy_2" || exit
fi
while [ true ]
do
/bin/sleep 5
date 
/usr/bin/scrcpy
done
exit 0

这个看不懂了核心代码

/usr/bin/scrcpy --always-on-top --render-expired-frames --window-title "我的手机-$0"

#!/bin/bash
#---Scrcpy--手机同屏验证是否开启USB调试模式-----------------------------------
MY_FIX_DIR="/tmp/MY_AWK_I8520"
if [ ! -d "$MY_FIX_DIR" ]
then
mkdir -p "$MY_FIX_DIR"
fi
rm -rf $MY_FIX_DIR/a123.sh
rm -rf $MY_FIX_DIR/tmpScrcpy.log
x='#!/bin/bash'
a='awk -v initial_line=$1 -v end_line=$2'
a_b=" '{"
b="if (NR >= initial_line && NR <= end_line) "
c='print $0'
d="}' "
d_a='$3'
echo "${x}" >>$MY_FIX_DIR/a123.sh
echo "${a}${a_b}" >>$MY_FIX_DIR/a123.sh
echo "${b}" >>$MY_FIX_DIR/a123.sh
echo "${c}" >>$MY_FIX_DIR/a123.sh
echo "${d}${d_a}" >>$MY_FIX_DIR/a123.sh
chmod -R 750 $MY_FIX_DIR/a123.sh
sh -c '/usr/bin/scrcpy --always-on-top --render-expired-frames --window-title "我的手机-$0"' >> $MY_FIX_DIR/tmpScrcpy.log 
#下面的关系也就不需要了,重新取名了变量名称,Mint保存文档可能有问题,建议多点几次保存。
MY_SCRCPY_YES=$(/tmp/MY_AWK_I8520/a123.sh 1 1 $MY_FIX_DIR/tmpScrcpy.log)
MY_SCRCPY_no(){
/tmp/MY_AWK_I8520/a123.sh 1 1 $MY_FIX_DIR/tmpScrcpy.log
}
MY_SCRCPY_NO=$(MY_SCRCPY_no)
MY_REE_A="error"
MY_REE_B="[100%]"A
if  [ ! $MY_REE_B = ${MY_SCRCPY_NO:5:5}A ];then
     echo "$MY_REE_A"
       else
          echo "OK exit ? 这个不能理解的东西 反正整个脚本起到作用就可以"
fi
 
if  [ ! $MY_REE_A = ${MY_SCRCPY_YES:0:6}A ];then
     echo "OK"
       else
         zenity --info --width=370 --height=150 --title="提示错误信息" \
           --text="\r\r1.是否USB调试模式    2.是否数据线已链接    3.是否文件传输模式"
fi
exit 0

开启无线同屏幕

#!/bin/bash
#安装nmap用于IP端口开放检测
# sudo apt install nmap -y
#----------------------
# 判断输入是否是IP地址,
# 防止输入错误
#----------------------
# 正则表达式,匹配IPv4地址
IP_REGEX='^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'  
  
while true; do  
    read -p "请输入一个IP地址: " ip_address  
  
    # 使用正则表达式匹配IP地址  
    if [[ $ip_address =~ $IP_REGEX ]]; then  
        echo "$ip_address"  
        Nmap_MYip=$(nmap "$ip_address" -p 5555)
        A="${Nmap_MYip}"
        #如果执行${Nmap_MYip}包含 open 就说明 开启了指定端口
        B="open"
        if [[ $A == *$B* ]]
        then
            echo "包含"
        else
            #没有开启就在开启
            adb tcpip 5555
        fi
        #链接到 手机
        adb connect $ip_address:5555
        #你安装scrcpy执行程序的路径
        /bin/scrcpy
 
        # 如果IP地址有效,则退出循环 
        break   
    else  
        echo "输入的IP地址无效,请重新输入。"  
    fi  
done  

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区