capistrano 输出 - [-L ...] 命令是什么?

capistrano output - what are [ -L ...] commands?

我有一个使用 Capistrano 部署的 rails 4 应用程序。在我的输出中有一堆我根本不理解的命令 运行ning。我试图找出其中一些失败的原因,但真正的问题是我根本不知道他们在做什么。

这是一个典型的例子:

DEBUG [8020adb4] Running /usr/bin/env [ -L ~/apps/spo/releases/20160205133156/public/assets ] as spo@dev.platform.spisales.com
DEBUG [8020adb4] Command: [ -L ~/apps/spo/releases/20160205133156/public/assets ]
DEBUG [8020adb4] Finished in 0.013 seconds with exit status 1 (failed).

我知道 /usr/bin/env 将 运行 一个程序,但我不知道这部分要做什么: [ -L ~apps/spo/releases/20160205133156/public/assets ]

像这样:/usr/bin/env mkdir很好理解,就是运行ning mkdir。

如果有人能解释这些 [ -L ...] 命令的作用,我将不胜感激!

方括号是 test 命令的替代语法。

哪个测试是 运行 取决于你给出的表达式,在这种情况下它检查 ~/apps/spo/releases/20160205133156/public/assets 是否存在并且是一个符号 link.

来自man test

 -L FILE
              FILE exists and is a symbolic link (same as -h)