我正在尝试在Vagrant(vagrant ssh)中运行脚本,但是我收到以下错误:
tests / unit / runTests.sh:4:tests / unit / runTests.sh:语法错误:“(”意外
命令:sh tests / unit / runTests.sh
该剧本在外面为流浪者运行良好,我能找到的关于流浪汉的唯一脚本信息与规定有关,这不是我在这种情况下所做的。
脚本:
#!/bin/bash
i=0
fails=()
for d in tests/unit/*/ ; do
eval "vendor/bin/peridot -c tests/unit/peridot.php $d"
if [ $? -eq 1 ]
then
fails[$i]=$d
fi
wait
done
for ((j=0; j < ${#fails[@]}; j++)) do
echo "${fails[$j]}"
done
我读过“(”语法错误与破折号有关,但我正在使用这些帖子的建议(#!/ bin / bash)。
感谢您的任何建议。
答案 0 :(得分:3)
命令:sh tests / unit / runTests.sh
这意味着你(流浪汉)试图在&#39; sh&#39;中运行你的脚本,而不是在&#39; bash&#39;中。在这种情况下,第一行(#!/ bin / bash)被忽略并且&#39; sh&#39;解释并不期望&#39;(&#39;字符。