Як додати експорт до риби, як у .bashrc?


50

Я просто хотів мати можливість додати до файлу конфігурації риби (не знаю, який / де) ту ж функцію, що і ця:

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

Цей рядок був доданий у файл .bashrc, і він міг експортувати змінну щоразу, коли я відкривав термінал.

Чи є щось подібне для риби? Я знаю, що я можу експортувати змінні риби за допомогою команди "set", але я хочу змінити один файл (не знаю, який), щоб автоматично додавати ці змінні щоразу, коли я відкриваю риболовний термінал.

Дякую за ваш час!

Відповіді:


50

Ви можете помістити в нього конфігурацію риби, включаючи встановлені директиви ~/.config/fish/config.fish. Вміст повинен виглядати приблизно так чи інакше

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

Більше інформації можна знайти в документації .


Спасибі Адам. Основна мета цієї зміни - мати можливість включити всередину Perl @inc шлях моїх місцевих бібліотек. Після додавання запропонованої вами рядки експорт був належним чином виконаний! Але якщо я запускаю perl -VI не побачить нових шляхів. Я знаю, що це скоріше питання Perl, ніж рибне, але я просто хотів дізнатися, чи є у вас (чи хтось інший) ідея

Я повинен був згадати -xпрапор. Щойно я оновив відповідь, і ви можете прочитати більше про це у розділі "Експорт змінних" в документації.
Адам Біртек

1
Основний сайт риб не працює, але документація з вилки риби знаходиться на сайтах ridiculousfish.com/shell/user_doc/html/commands.html#set (я припускаю, що це те саме).
Даніель Джеймс

Чи має риба доступ до змінних довкілля, таких як $ PATH?
грант

@grant так $PATHтощо можна використовувати в рибі, в тому числі в config.fish.
Scribblemacher

19

Використовуйте універсальні змінні, введені в рибі 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

Так, ти правий!
Нішант
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.