#linux #shell #fish
#linux #оболочка #fish
Вопрос:
Я только начал использовать fish
.Я использовал zsh
и bash
раньше. Куда мне поместить конфигурации fish
?
Пример конфигураций- https://bpaste.net/show/92f553c9aab8
Я попробовал это, ~/config/fish/config.fish
но это дало мне ошибки. Ошибки, которые я получил: https://bpaste.net/show/e136cc91f188
Замена amp;amp;
на ;
удаляет ошибки. Но делает ли это то же самое? Если нет, как я могу добиться того же, что и с amp;amp;
.
Ошибка с равными:
$ iitpi conda update --all
Unsupported use of '='. To run 'https_proxy=http://10.10.78.21:3128' with a modified environment, please use 'env http_proxy=http://10.10.78.21:3128 https_proxy=http://10.10.78.21:3128…'
in function “iitpi”
called on standard input
with parameter list “conda update --all”
Комментарии:
1. Хммм, почему понижающий голос? Чего очевидного мне не хватает.
2. Вам, по-видимому, не хватает документации: fishshell.com/docs/current/index.html
3. @glennjackman пожалуйста, проверьте обновление.
Ответ №1:
Там несколько ошибок. синтаксис fish отличается от синтаксиса zsh и bash
Не это:
alias ipy="(jupyter qtconsole amp;)"
в fish (...)
есть синтаксис подстановки команд, например, обратные ссылки zsh / bash или $(...)
. Сделайте это:
function ipy
jupyter qtconsole amp;
end
потому что псевдонимы fish — это просто синтаксический сахар для функций
В bash (...)
содержимое запускается в подоболочке. Если вы действительно хотите сделать это в fish, вы должны быть явными:
function ipy
fish -c 'jupyter qtconsole' amp;
end
amp;amp;
это bash; and
команда fish, так что не это:
command1 amp;amp; command2_if_cmd1_succeeds
но это
command1; and command2_if_cmd1_succeeds
Комментарии:
1. Спасибо! Это исправляет большую часть вещей, за исключением проблемы равенства со знаком. Пожалуйста, проверьте редактирование в вопросе.
Ответ №2:
Конфигурации Fish идут в ~/.config/fish/
(обратите внимание на точку). Я бы избегал одной конфигурации.извлекайте и вместо этого используйте отдельные файлы для каждого приложения / предмета в conf.d/
, т.е. ~/.config.fish/conf.d/10-homebrew.fish
.