将命令拆分为鱼壳中的多行

时间:2011-04-14 14:24:51

标签: 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 个答案:

答案 0 :(得分:2)

我在OSX 10.8.5上使用了fish 2.0.0,你的示例正如我所期望的那样(对于我机器上存在的路径)。

运行此代码

# 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 /鱼/ config.fish

以下是有关多行编辑的更多信息:http://fishshell.com/docs/2.0/index.html#multiline

鱼中没有数组文字。您可以在文档中阅读有关鱼阵列的更多信息。 http://fishshell.com/docs/2.0/index.html#variables-arrays