您的位置:首页 > 其它

【kibana源码解析】之启动脚本

2017-03-27 19:57 801 查看
@echo off

SETLOCAL

set SCRIPT_DIR=%~dp0
for %%I in ("%SCRIPT_DIR%..") do set DIR=%%~dpfI

set NODE=%DIR%\node\node.exe

WHERE /Q node
IF %ERRORLEVEL% EQU 0 (
for /f "delims=" %%i in ('WHERE node') do set SYS_NODE=%%i
)

If Not Exist "%NODE%" (
IF Exist "%SYS_NODE%" (
set "NODE=%SYS_NODE%"
) else (
Echo unable to find usable node.js executable.
Exit /B 1
)
)

TITLE Kibana Server
"%NODE%" %NODE_OPTIONS% "%DIR%\src\cli" %*

:finally

ENDLOCAL


这是kibana的批处理脚本,

1、SCRIPT_DIR=%~dp0 表示 获取批处理文件的绝对路径(包含盘符),并赋值给SCRIPT_DIR

2、for %%I in (“%SCRIPT_DIR%..”) do set DIR=%%~dpfI 基本是利用for循环,目录返回上一层级,并把该绝对路径赋值给DIR

如测试bat文件:

SET SCRIPT_DIR=%~dp0
for %%I in ("%SCRIPT_DIR%..") do set DIR=%%~dpfI
echo %SCRIPT_DIR%
echo %DIR%
pause


把该文件放在”C:\Users\fsz\Desktop\”路径下,并运行该批处理文件。会分别输出: C:\Users\fsz\Desktop\ 、C:\Users\fsz

3、”%NODE%” %NODE_OPTIONS% “%DIR%\src\cli” %*

这句话的基本功能就是通过nodejs启动 src\cli\index.js 这个文件(nodejs会默认找到文件名为index的js并执行)

%* 是获取命令行参数的意思,在一般情况下用不到,可以在参考文献中自行学习

http://www.2cto.com/kf/201106/94439.html

http://www.2cto.com/os/201205/131134.html

http://blog.csdn.net/albertsh/article/details/52788106
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  源码 kibana