FISCO-BCOS/fisco-bcos-browser

v2.2.4/fisco-bcos-browser.zip提供的start.sh脚本中含有换行符

Closed this issue · 1 comments

执行区块链浏览器一键部署时,在输入python3 deploy.py installAll命令后报错。错误日志如下:
====== db script init success! ======
Traceback (most recent call last):
File "deploy.py", line 66, in
do()
File "deploy.py", line 14, in do
commBuild.do()
File "/home/huangmb/fisco/browser-deploy/comm/build.py", line 15, in do
installServer()
File "/home/huangmb/fisco/browser-deploy/comm/build.py", line 87, in installServer
startServer()
File "/home/huangmb/fisco/browser-deploy/comm/build.py", line 137, in startServer
result = doCmd("bash start.sh")
File "/home/huangmb/fisco/browser-deploy/comm/utils.py", line 91, in doCmd
raise Exception("execute cmd error ,cmd : {}, status is {} ,output is {}".format(cmd,status, output))
Exception: execute cmd error ,cmd : bash start.sh, status is 2 ,output is start.sh: line 2: $'\r': command not found
start.sh: line 7: $'\r': command not found
start.sh: line 13: syntax error near unexpected token $'{\r'' start.sh: line 13: getTradeProtalPID(){
'
查看/server/start.sh发现有windos换行符:
#!/bin/bash^M$
^M$
APP_MAIN=org.bcos.browser.Application^M$
CLASSPATH='conf/:apps/:lib/'^M$
CURRENT_DIR=pwd^M$
LOG_DIR=${CURRENT_DIR}/log^M$
^M$
if [ ! -d "log" ]; then^M$
mkdir -p log^M$
fi^M$
^M$
tradePortalPID=0^M$
getTradeProtalPID(){^M$
javaps=$JAVA_HOME/bin/jps -l | grep $APP_MAIN^M$
if [ -n "$javaps" ]; then^M$
tradePortalPID=echo $javaps | awk '{print $1}'^M$
else^M$
tradePortalPID=0^M$
fi^M$
}^M$
^M$
start(){^M$
^IgetTradeProtalPID^M$
^Iecho "==============================================================================================="^M$
^Iif [ $tradePortalPID -ne 0 ]; then^M$
^I echo "$APP_MAIN is already started(PID=$tradePortalPID)"^M$
^I echo "==============================================================================================="^M$
^Ielse^M$
^I echo -n "Starting $APP_MAIN "^M$
^I nohup $JAVA_HOME/bin/java -cp $CLASSPATH $APP_MAIN >> $LOG_DIR/browser.out 2>&1 &^M$
^I sleep 5^M$
^I getTradeProtalPID^M$
^I if [ $tradePortalPID -ne 0 ]; then^M$
^I echo "(PID=$tradePortalPID)...[Success]"^M$
^I echo "==============================================================================================="^M$
^I else^M$
^I echo "[Failed]"^M$
^I echo "==============================================================================================="^M$
^I fi^M$
^Ifi^M$
}^M$
^M$
start^M$
此时需要自己替换脚本的换行符或者安装dos2unix后执行才能成功。

python里面应该会dos2unix