bat執行shell腳本
1. 安卓設備中在執行bat腳本時abd shell自動輸入密碼並執行命令怎麼寫
可以使用 echo 命令和管道符 | 將密碼輸入到 adb shell 的命令中。假設你的密碼為 mypassword,需要執行的命令為 mycommand,那麼彎彎虧可以這樣寫:
echo mypassword | adb shell mycomman
在上面的命令中,echo mypassword 將密碼輸出到標准輸出流,然後通過管道符 | 將標准輸出流連接到 adb shell mycommand 命令的標准輸入流中,這樣就實現了自動輸入密碼並執行命令埋神的效鬧談果。
2. BAT腳本如何自動執行adb shell 以後的命令
普通情況,可以直接用 」adb shell rm /data/tmp/xx.sh「 之類的命令執行一條指令。
需要root許可權情況,如果執行adb shell su的話,會進入控制台但是無法輸入,用批處理的話也會卡在此處。
可以用輸入重定向的方法來解決。
1.將所有需要執行的命令放到一個文本文檔中,如cmd.txt
2.用輸入重定向的方法: adb shell < cmd.txt
3. 求問 BAT腳本如何自動執行 adb shell 以後的命令
這是無法實現的。你無法在bat腳本中運行互動式shell命令,你的命令無法發送進入。
bat腳本運行時,是在CMD的環境下運行,它的命令解釋器是cmd。
而su在shell環境下執行的,它的命令解釋器是shell下的"/system/bin/sh"。
su是一條互動式的shell命令,它需要與shell環境下的用戶進行交互操作。
問題就在這里了,
bat腳本只負責將"shell su"作為參數傳遞執行一次adb.exe。
這個動作完成,這條命令的步驟就算結束了,
但此時su還有一個切換用戶身份的動作,如果有密碼還會通過shell請求用戶輸入密碼,
但運行bat的cmd環境是它收不到這個請求的。
解決辦法:
一. 將su命令之後需要執行的命令寫成一個sh腳本。
通過adb將sh腳本推入手機中,並為腳本添加可執行許可權
在bat中添加一條比方說這樣的命令
adb shell ". /path/to/your/file.sh"
二. 安裝superSU授權管理器
安裝superSU授權管理器後執行
adb root
授權,允許adb以root身份運行。
這之後你通過adb 發送的shell命令會以root身份執行。
4. 如何將這個.bat 執行文件改成.sh 的 shell 腳本
1.shell第一行#!/bin/sh
2、shell定義變數局握褲export libpath=.
3、shell使用變數$libpath,替換%libpath%
4、目錄和目錄要用冒桐簡號,你可以參考tomcat裡面的catalina.sh的CLASSPATH
libpath=${libpath}:${lib}commons-codec.jar
pause可以用sleep 1代替
5、皮盯例如
#!/bin/sh
cd ../bin
export lib=../lib/
export libpath=.
export interfaceURL=
export userName=zhangsan
export authCode=a123456
export libpath=${libpath}:${lib}commons-codec.jar
export libpath=${libpath}:${lib}commons-lang.jar
export libpath=${libpath}:${lib}geronimo-jms_1.1spec-1.0.jar
export libpath=${libpath}:${lib}geronimo-jaxws_2.1_spec-1.0.jar
export libpath=${libpath}:${lib}jaxp-api-2.1.jar
export libpath=${libpath}:${lib}jaxen-1.1-beta-7.jar
java -cp $libpath com/csdc/happy/webservice/client/happyTester $interfaceURL $userName $authCode
sleep 1