1
使用ssh
子命令运行命令或用简单的测试脚本行,像-e
,在vagrant
工作正常(如如何在流浪汉测试中使用命令运行bash脚本?
vagrant ssh -c 'if ! [ -e file.deb ] ; then wget http://a.b/file.deb; fi'
只要字符串比较和命令执行bash
引用介入,复杂立刻上升到天空我试着
- 逃逸字符串,但似乎并不在一般的工作(逃逸逃逸逃逸的复杂性......在
bash
仅仅是不可接受) 用脚本文件将所有内容写入
cat <<EOF > file [code]EOF
成语,例如vagrant ssh -c 'cat <<EOF > fetch.sh \ #!/bin/bash \ if [ "$(md5sum file.deb | cut -d \" \" -f 1)" != "d757d51819f8f945ae7715b532ab8d2e" ] ; then wget http://a/b/file.deb; fi \ EOF' vagrant ssh -c 'bash ./fetch.sh'
导致
./fetch.sh: line 1: syntax error near unexpected token `if'
- 的
cat EOF
成语的失败意味着vagrant
(python
,groovy
等创建的任何类型的脚本中的故障将从bash
相同丧失工作能力受到以提供可用的串报价/完全可以使用)
有没有什么办法可以在vagrant
框内的测试中用复杂语句执行脚本代码?我是否真的需要通过本地主机接口(使用FTP或类似的)传输脚本?