我的命令仅在从终端运行时才有效。使用启动器时无效。我该怎么做才能解决这个问题?

我的命令仅在从终端运行时才有效。使用启动器时无效。我该怎么做才能解决这个问题?

我使用以下命令远程控制我的手机乱码

adb kill-server ; adb connect (my phone's IP address):5555 ; scrcpy --prefer-text --serial (my phone's IP address)

它在终端中运行没有问题,程序启动了,所以我可以使用它。但是当我使用桌面启动器运行相同的命令时,终端会立即打开并关闭,程序不会启动(我在启动器属性中启用了“在终端中运行”)。我应该怎么做才能让它工作?

这是我在终端运行命令时得到的输出:

* daemon not running; starting now at tcp:5037
* daemon started successfully
connected to (my phone's IP address):5555
INFO: scrcpy 1.12.1 <https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 file pushed. 0.9 MB/s (24773 bytes in 0.026s)
error: more than one device/emulator
ERROR: "adb reverse" returned with value 1
WARN: 'adb reverse' failed, fallback to 'adb forward'
INFO: Initial texture: 720x1280

答案1

启动器可能会将整个字符串视为单个命令。就您而言,adb( ... ; ... ; ...) 后面的所有内容都被视为参数,而不是作为单独的命令执行。要解决此问题,请使用bash -c

bash -c "adb kill-server ; adb connect 0.0.0.0:5555 ; scrcpy --prefer-text --serial 0.0.0.0"

相关内容