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

时间:2012-12-29 07:27:56

标签: 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

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

帮助表示赞赏!

1 个答案:

答案 0 :(得分:5)

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

所以这句话意味着:

if the server is not running
    run the server