喂 我试图编写一个bash脚本来克隆我的rrepository,然后使用selenium运行测试。当我尝试安装selenium依赖项时,特别是当我在代码中运行此命令(Xvfb:99 -ac& export DISPLAY =:99)时,我收到一个错误(无法识别的选项:&)。这是我的代码的一部分
xvfbb="sudo apt-get install -y xvfb"
enn="Xvfb :99 -ac & export DISPLAY=:99"
magic="sudo apt-get install -y imagemagick"
*#Function to call installation variables*
function seleniumTests() {
$xvfbb
$enn
$magic
echo "done installing dependencies."
}
然后,当我完成克隆时,我调用上面的函数(seleniumTests)。知道为什么“&”被认为是错误?感谢
答案 0 :(得分:1)
shell不解析shell语法的参数扩展。您只能以您尝试的方式存储非常简单的命令,即使这样也是不可取的。改为使用函数。
xvfbb () { sudo apt-get install -y xvfb; }
enn () { Xvfb :99 -ac & export DISPLAY=:99; }
magic () { sudo apt-get install -y imagemagick; }
function seleniumTests() {
xvfbb
enn
magic
echo "done installing dependencies."
}
答案 1 :(得分:0)
扩展变量时,不会评估像&
(还有更多)这样的事情。
要明确评估它,请使用eval
;然后我建议在变量周围使用引号:
eval "$enn"