如何在.bashrc中添加出口到鱼类?


50

我只是想能够在一些fish配置文件中添加(不知道哪个/何处)与此相同的功能:

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

此行被添加到.bashrc文件中,并且每次我打开终端时都能够导出变量。

鱼有这样的东西吗?我知道我可以使用“ set”命令在fish中导出变量,但是我想修改一个文件(不知道哪个文件),以便在每次打开fish终端时自动添加这些变量。

谢谢你的时间!

Answers:


50

您可以将特定于用户的fish配置(包括set指令)放入中~/.config/fish/config.fish。内容应大致类似

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

可以在文档中找到更多信息。


谢谢亚当。更改的主要目的是能够在Perl @inc中包含本地库的路径。在添加了您建议的行之后,导出已正确完成!但是,如果我运行perl,则-VI将看不到新路径。我知道这比问鱼更像是一个Perl问题,但我只是想知道您(或其他人)是否有想法

我应该提到-x旗帜。我刚刚更新了答案,您可以在文档的“导出变量”部分中了解更多有关此内容的信息。
亚当·伯瑞克

1
主要的鱼站点已关闭,但fishfish分支的文档位于ridiculousfish.com/shell/user_doc/html/commands.html#set(我认为是相同的)。
丹尼尔·詹姆斯

鱼是否可以使用$ PATH等环境变量?
授予

@grant yes,$PATH等等可以在fish中使用,包括在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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.