#fish
#fish
Вопрос:
Я пытаюсь разделить свой список дополнительных путей на несколько строк в моей конфигурации fish:
# Path additions
for i in
~/Library/Haskell/ghc-7.0.2/lib/gtk2hs-buildtools-0.12.0/bin
~/Library/Haskell/bin
/Applications/MacVim.app/Contents/MacOS
/opt/local/bin
/usr/local/bin
/usr/local/git/bin
/Users/lyndon/.gem/ruby/1.8/bin
if not contains $i $PATH
set -x PATH $i $PATH
end
end
Однако, похоже, это не работает, если все элементы не находятся в одной строке.
Возможно ли это? Кажется, я не могу найти никакой информации о том, как это сделать.
В качестве альтернативы, есть ли способ использовать литералы списка / массива для этого?
Ответ №1:
Я использую fish 2.0.0 в OSX 10.8.5, и ваш пример работает так, как я и ожидал (для путей, которые существуют на моем компьютере).
Запуск этого кода
# Path additions
for i in
~/bin
~/.config/fish/functions
if not contains $i $PATH
echo $i
end
end
где ~/bin установлен в PATH, а ~/.config/fish/functions — нет, выводит:
~/bin
Я добавил вышеуказанное в свою конфигурацию fish, а затем запустил ее следующим образом: . ~/.config/fish/config.fish
Вот немного больше информации о многострочном редактировании:http://fishshell.com/docs/2.0/index.html#multiline
В fish нет литералов массива. Вы можете прочитать больше о массивах fish в документах. http://fishshell.com/docs/2.0/index.html#variables-arrays