OpenShift的Bash脚本 - 不可读(||,[ - f pidfile])

Bra*_*don 1 bash shell openshift

我已经用Ruby完成了所有的学习,现在正在深入研究OpenShift的Bash脚本深度.每个命令在做什么都不太明显......

有人可以向我解释以下内容:

[ -f ${OPENSHIFT_DATA_DIR}redis.pid ] || ${OPENSHIFT_DATA_DIR}redis/bin/redis-server ${OPENSHIFT_DATA_DIR}redis/bin/redis.conf
Run Code Online (Sandbox Code Playgroud)

第二部分显然是redis-server使用redis.conf配置运行二进制文件.但是我不确定||完成了什么,或者是什么[ -f $SOME_PID_FILE ]

帮助赞赏!

per*_*eal 5

看起来redis-server创建一个redis.pid在启动时调用的文件,并在退出时删除此文件.第一个条件通过使用-ftest选项测试此文件是否存在来检查服务器是否正在运行,这意味着文件是否存在.如果[ -f $SOME_PID_FILE ]错误,意味着服务器没有运行,||(或)运算符将执行右侧,即它将启动服务器.

所以这句话意味着:

if the server is not running
    run the server
Run Code Online (Sandbox Code Playgroud)