bash ファイル内に ksh 固有のコードを 1 行含める方法はありますか?

bash ファイル内に ksh 固有のコードを 1 行含める方法はありますか?

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

免責事項

@が述べたようにグレン・ジャックマンコメントでは、スクリプトを完全に純粋な、なぜあなたは?

出力

3 2 1

答え2

いいえ。それらは異なるプログラムです。パラメータを指定して ksh を呼び出し-c、出力を解析することしかできません。

関連情報