Como posso gerar um comando BASH?

0

Eu tenho um script de espera e quero gerar um comando BASH para fornecer entrada. Quando utilizo a seguinte sintaxe:

spawn /bin/bash docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki'

ou:

spawn docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki

Eu recebo o seguinte erro:

bad flag "-it": must be -glob, -regexp, -exact, -notransfer, -nocase, -i, -
indices, -iread, -timestamp, -timeout, -nobrace, or --
    while executing
"expect {
   spawn (/bin/bash) docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn 
ovpn_initpki
   "Enter PEM pass phrase:"   {send "DefPEMVPNPassPhra..."
    (file "addcontainer.exp" line 7)

Como posso dizer que espera gerar um comando BASH?

    
por William Edwards 07.02.2018 / 17:39

2 respostas

0

A saída sugere que spawn não pare de interpretar sinalizadores quando encontrar um nome de comando.

Uma convenção comum é usar -- como um separador entre as opções de um comando (que ele deve analisar e interpretar) e argumentos para as coisas que ele precisa chamar (que ele deve ignorar e transmitir).

A saída spawn lista -- como uma das opções possíveis, o que sugere que segue essa convenção. Tente especificá-lo?

spawn /bin/bash -- -c "docker run ..."
    
por 07.02.2018 / 18:48
0

tente:

spawn /bin/bash
send "docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn  ovpn_initpki"
    
por 07.02.2018 / 17:45