User Tools

Site Tools


informatica:linux:expect

Vectores

bash

No recorre el vector. Falta meter el valor de i dentro de vector[i]

#/bin/bash

vector=( "hola que tal" "adios me voy" )
/usr/bin/expect <<EOF

for {set i 0} { \$i <=1 } {incr i} {
    puts \$i
    puts "${vector[0]}"
    puts "${vector[1]}"
}

EOF

Salida

0
hola que tal
adios me voy
1
hola que tal
adios me voy

expect

foreach

#/bin/bash

/usr/bin/expect << EOF
  set vector {}
  lappend vector "hola que tal"
  lappend vector "como estamos"

  foreach elem \$vector {
    puts "\$elem\r"
  }

EOF

Salida:

hola que tal
como estamos

Con índices

/bin/bash

/usr/bin/expect << EOF
  set vector {}
  lappend vector "hola que tal"
  lappend vector "como estamos"

for {set i 0} {\$i < [llength \$vector]} {incr i} {
    puts [lindex \$vector \$i]
}

EOF

Salida

hola que tal
como estamos

Recorrer un vector bash en expect

Asigando vector bash a vector expect

#/bin/bash

vector_bash=( \"hola que tal\" \"adios me voy\" )

/usr/bin/expect << EOF
  set vector_expect {}
  lappend vector_expect ${vector_bash[@]}

  foreach elem \$vector_expect {
    puts "\$elem\r"
  }

EOF

Salida

hola que tal
adios me voy

Creando un fichero temporal

#/bin/bash

vector=( "hola que tal" "adios me voy" )

rm jurjur

cat << EOF  > jurjur
foreach arg \$argv { 
    puts "arg : \$arg"   
}
EOF

/usr/bin/expect  jurjur "${vector[@]}"

Salida

arg : hola que tal
arg : adios me voy
informatica/linux/expect.txt · Last modified: 2017/12/05 22:08 by jose