Estou tentando usar um array associativo dentro de um arquivo bash. Mas a versão bash não é 4.
Ou existe uma maneira de incluir um arquivo ksh em um arquivo bash sem que ele seja executado como bash
Responder1
Você pode tentar esse tipo de coisa:
#!/bin/bash
ksh -c '
typeset -A arr
arr['foo']=1
arr['bar']=2
arr['base']=3
print "${arr[@]}"'
Ou usando umaqui-doc
#!/bin/bash
ksh <<'EOF'
typeset -A arr
arr['foo']=1
arr['bar']=2
arr['base']=3
print "${arr[@]}"
EOF
Isenção de responsabilidade
Como indicado pela @Glenn Jackmannos comentários, o melhor que você pode fazer é tornar seu script totalmente em puroksh, por que incomodá-lo com uma mistura defesta&ksh?
Saída
3 2 1
Responder2
Não. São programas diferentes. Você só pode chamar ksh com parâmetro -c
e, por exemplo, analisar a saída.