一部のシェル スクリプト (特に ZSH) で、シェルがスペースを含むエクスポートを理解できないという問題があるようです。この問題は、「runcommand」または $(runcommand) が使用されている場合にのみ発生します。
テストケース:
# Works fine:
export test1="a b c"
# Does not work:
$(echo 'export test2="a b c"')
エラーは、の行に沿ったものですexport:4: not valid in this context: c"
。\
スペースや引用符の前に1 ~ 2 個のエスケープを追加すると、エラー メッセージが に変わる場合がありますexport:4: not valid in this context: b\
。
誰が問題が何であるかについての洞察を持っているでしょうか? ありがとうございました。
(私がこれを行っている理由は、Python が .myshellrc で実行されるコードを動的に生成することによってシェル変数を設定できるようにするためのハックです。誰かがこれを行うためのよりエレガントな方法を知っている場合は、コメントとして大歓迎です。ありがとう)編集:明確にするために、上記を機能させる方法、または外部スクリプトが何をエクスポートするかを指示できるようにする別の方法を探しています。
(*ため息*、これが 4.3.12 のバージョン固有の問題でないことを願っています...これは過去に機能していた可能性があると思います。)