shell腳本bat
❶ 如何將這個.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
❷ 通過shell腳本/bat批處理命令方式向其他伺服器發送文件
scp或者rsync
批處理也可以用rsync,但是需要安裝個windows的rsync包
❸ shell腳本改成windows下的bat腳本
@echo off
path
set PROGNAME=.\lib\datahub-plugin-db-0.1.jar
set CONFIGNAME=.\conf\application.conf
set SCRIPTPATH=.\
set PWDPATH=.\
set DAEMON=%PWDPATH%\%PROGNAME%
set CONFIG=%PWDPATH%\%CONFIGNAME%
set LIB=$PWDPATH\lib
set 2333333K=DIR *.bat \B
set SCRIPTNAME=%PWDPATH%\%2333333K%
set CLASSPATH=%PWDPATH%\conf:%DAEMON%
set MAINCLASS=org.datahub.plugin.db.main.DbPluginMain
set OPTION=" -Xmx512m -Xms512m "
java -Djava.library.path=%LIB% %OPTION% -Dagent.home=%PWDPATH% -Dfile.encoding=UTF-8 -cp %CLASSPATH% %MAINCLASS%
這樣應該就行了,nohup這個沒辦法,這個是Linux保持不讓回話丟失的,Windows無葯可救,還有就是要把Java設置到環境變數里
❹ 求問 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身份執行。