bash ファイル内で連想配列を使用しようとしています。ただし、bash のバージョンは 4 ではありません。
または、kshファイルをbashファイルとして実行せずにbashファイルに含める方法はありますか?
答え1
次のようなことを試すことができます:
#!/bin/bash
ksh -c '
typeset -A arr
arr['foo']=1
arr['bar']=2
arr['base']=3
print "${arr[@]}"'
または、ヒアドキュメント
#!/bin/bash
ksh <<'EOF'
typeset -A arr
arr['foo']=1
arr['bar']=2
arr['base']=3
print "${arr[@]}"
EOF
免責事項
@が述べたようにグレン・ジャックマンコメントでは、スクリプトを完全に純粋なksh、なぜあなたはバッシュ&ksh?
出力
3 2 1
答え2
いいえ。それらは異なるプログラムです。パラメータを指定して ksh を呼び出し-c
、出力を解析することしかできません。