1

我已经在 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 ]

帮助表示赞赏!

4

1 回答 1

5

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

所以这句话的意思是:

if the server is not running
    run the server
于 2012-12-29T07:31:37.660 回答