开发者

Splitting a command over multiple lines in fish-shell

开发者 https://www.devze.com 2023-02-24 10:45 出处:网络
I\'m trying to split my list of additional paths on to multiple lines in my fish config: # Path additions

I'm trying to split my list of additional paths on to multiple lines in my fish config:

# Path additions
for i in \
        ~/Library/Haskell/ghc-7.0.2/lib/gtk2hs-buildtools-0.12.0/bin \
        ~/Library/Haskell/bin \
        /A开发者_运维百科pplications/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

However, this doesn't seem to work unless all the items are on one line.

Is this possible? I can't seem to find any information on doing this.

Alternatively, is there a way to use a list/array literals to do this?


I'm using fish 2.0.0 on OSX 10.8.5 and your example works as I would expect (for paths that exist on my machine).

Running this code

# Path additions
for i in \
    ~/bin \
    ~/.config/fish/functions
    if not contains $i $PATH
       echo $i 
    end
end

where ~/bin is set on PATH and ~/.config/fish/functions is not, outputs: ~/bin

I appended the above to my fish config and then ran it like this: . ~/.config/fish/config.fish

Here is a little more info on multiline editing: http://fishshell.com/docs/2.0/index.html#multiline

There are no array literals in fish. You can read more about fish arrays in the docs. http://fishshell.com/docs/2.0/index.html#variables-arrays

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号