Fish Shell: エクスポートを使用してファイルに複数の環境変数を設定する方法

Fish Shell: エクスポートを使用してファイルに複数の環境変数を設定する方法

Fish Shellでエクスポートして環境変数を設定できますか?私はこのように変数が設定されたプロジェクトを進めていますが、フィッシュ用に別々の設定ファイルを保持することは意味がありません。

Bashでは、次の例を考えてみましょう。

echo -e "foo=1\nfoobar=2\n" > foo; export $(cat foo | xargs); env | grep foo

   foo=1
   foobar=2

フィッシュシェルは変数を設定するように見え、ファイルに変数がある場合にのみ可能です。

~ $ echo -e "foo=3\nfoobar=4" > foo; export (cat foo | xargs); env | grep foo

~ $ echo -e "foo=3" > foo; export (cat foo | xargs); env | grep foo

   foo=3

これはフィッシュの輸出の実施における単なる欠陥/欠落ですか?

この質問は似ていますが、他の2つの投稿とは異なります。

ベストアンサー1

あなたの例はほぼ完璧に動作します。export問題ではありませんが、使い方ですxargs

努力する:

echo -e "foo=3\nfoobar=4" > .env; export (cat .env);  env | grep foo

その理由は、コマンドが区切られた改行文字の引数を置き換えてxargs削除するためです。

> count (cat .env | xargs)
1
> count (cat .env)
2

おすすめ記事