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身份执行。