Estoy intentando utilizar una matriz asociativa dentro de un archivo bash. Pero la versión de bash no es la 4.
¿O hay alguna manera de incluir un archivo ksh en un archivo bash sin que se ejecute como bash?
Respuesta1
Puedes probar este tipo de cosas:
#!/bin/bash
ksh -c '
typeset -A arr
arr['foo']=1
arr['bar']=2
arr['base']=3
print "${arr[@]}"'
O usando unaquí-doc
#!/bin/bash
ksh <<'EOF'
typeset -A arr
arr['foo']=1
arr['bar']=2
arr['base']=3
print "${arr[@]}"
EOF
Descargo de responsabilidad
Según lo declarado por @jackmanen los comentarios, lo mejor que puedes hacer es hacer tu script completamente en estado puro.ksh¿Por qué molestarte con una mezcla deintento&ksh?
Producción
3 2 1
Respuesta2
No. Esos son programas diferentes. Sólo puede llamar a ksh con parámetro -c
y, por ejemplo, analizar la salida.