.bashrcのような魚にエクスポートを追加する方法は?


50

これと同じ機能を、魚の構成ファイル(どこ/どこがわからない)に追加できるようにしたかっただけです。

export PERL5LIB=/home/iaco/workspace/perl:/home/iaco/devtools

この行は.bashrcファイル内に追加され、端末を開くたびに変数をエクスポートできました。

魚にもそのようなものはありますか?「set」コマンドを使用して魚の変数をエクスポートできることは知っていますが、魚ターミナルを開くたびにそれらの変数を自動的に追加するために、1つのファイルを変更します(どのファイルかは知りません)。

御時間ありがとうございます!

回答:


50

setディレクティブを含むユーザー固有の魚の構成をに配置できます~/.config/fish/config.fish。内容はだいたい似ているはずです

set -x PERL5LIB /home/iaco/workspace/perl:/home/iaco/devtools

詳細については、ドキュメントを参照してください


ありがとう、アダム。この変更の主な目的は、ローカルライブラリのパスをPerl @inc内に含めることができるようにすることです。提案した行を追加すると、エクスポートが適切に行われました!しかし、perl -VIを実行すると、新しいパスは表示されません。私はこれが魚の質問よりもPerlの質問であることを知っていますが、あなた(または他の誰か)がアイデアを持っているかどうか知りたいだけです

私は-x旗に言及すべきでした。答えを更新しましたが、ドキュメントの「変数のエクスポート」セクションで詳細を読むことができます。
アダムByrtek

1
メインの魚のサイトはダウンしていますが、fishfishフォークのドキュメントはridiculousfish.com/shell/user_doc/html/commands.html#setにあります(同じだと思います)。
ダニエルジェームズ

魚は$ PATHなどの環境変数にアクセスできますか?
付与

@grant yes $PATHなどは、config.fishを含む魚で使用できます。
Scribblemacher

19

fish 2.0.0で導入されたユニバーサル変数を使用します。-xはエクスポートさ-Uれたことを意味し、すべての魚のセッションに対して宣言されていることを意味します。長いオプション--exportとを使用することもできます--universal

set -xU PERL5LIB /home/iaco/workspace/perl:/home/iaco/devtools

PATH変数は少し特殊なケースであることに注意してください。一方でPATH普遍的に変更することができ、これは(余分なパスがオペレーティングシステムによって導入される場合、問題のビットであってもよい)、現在のPATH変数に影響を与えます。以下のためのPATH変数、使用fish_user_paths(パスのみを加算する)変数の代わりに。変数は配列です。つまり、:文字を入力する必要はありません。

set -U fish_user_paths /home/iaco/workspace/perl/share/bin /home/iaco/bin $fish_user_paths

はい、あなたは正しいです!
Nishant
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.