関数内の単一のステートメントからbash配列を宣言してエクスポートすることは可能ですか?
私の現在の回避策は、最初に宣言してからエクスポートすることです。
f() { foo=(1 2 3); export foo; }; f; export -p | grep foo=
declare -ax foo='([0]="1" [1]="2" [2]="3")'
私はそれを観察します:
f() { export bar=(1 2 3); }; f; export -p | grep bar=
<no output>
と:
f() { export baz="(1 2 3)"; }; f; export -p | grep baz=
declare -x baz="(1 2 3)" # not an array
bash v3.2.48(1)-release を使用していますが、アップグレードできません。
背景:
「いくつかの」Djangoを一緒に勉強しようとしている友人がいます。
彼はコマンド ラインに関しては私より無知で、OSX hackintosh では次のものが必要です。
- 対話型シェルを起動する
- 私の仕様に従って、django bin dirを含むPATH変数を見つけます
- さまざまな django ライブラリが表示された、更新された PYTHONPATH 環境変数を見つけます
- ダブルクリック後にコマンドの入力を開始するための優れたインタラクティブな ipython シェル
- (トリッキー) CTRL-D で ipython を終了すると、フォールバックする対話型シェル
Windows では、cmd.exe などのコマンド ショートカットにエイリアスを設定し、カスタム環境変数を設定して ipython を起動します。これは機能します。ipython を終了した後でも、コマンド インタープリターで自分自身を見つけることができます。
これは、OSX の標準の bash でまったく可能ですか? 私は bash -c でプレイしましたが、ディレクトリに変更したり、python を終了してターミナルにとどまることができるなど、多くのことが機能しません。- s でもプレイしました。