Ich versuche, ein assoziatives Array in einer Bash-Datei zu verwenden. Aber die Bash-Version ist nicht 4.
Oder gibt es eine Möglichkeit, eine KSH-Datei in eine Bash-Datei einzubinden, ohne dass sie als Bash ausgeführt wird?
Antwort1
Sie können Folgendes ausprobieren:
#!/bin/bash
ksh -c '
typeset -A arr
arr['foo']=1
arr['bar']=2
arr['base']=3
print "${arr[@]}"'
Oder mit einemhier-doc
#!/bin/bash
ksh <<'EOF'
typeset -A arr
arr['foo']=1
arr['bar']=2
arr['base']=3
print "${arr[@]}"
EOF
Haftungsausschluss
Wie von @ angegebenGlenn Jackmanin den Kommentaren, das Beste, was Sie tun können, ist, Ihr Skript vollständig in reinemksh, warum belästigen Sie sich mit einer Mischung ausSchlagundksh?
Ausgabe
3 2 1
Antwort2
Nein. Das sind verschiedene Programme. Du kannst ksh nur mit Parameter aufrufen -c
und z.B. die Ausgabe parsen.