Gibt es eine Möglichkeit, eine Zeile KSH-spezifischen Code in einer Bash-Datei zu haben?

Gibt es eine Möglichkeit, eine Zeile KSH-spezifischen Code in einer Bash-Datei zu haben?

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 reinem, warum belästigen Sie sich mit einer Mischung ausund?

Ausgabe

3 2 1

Antwort2

Nein. Das sind verschiedene Programme. Du kannst ksh nur mit Parameter aufrufen -cund z.B. die Ausgabe parsen.

verwandte Informationen