我可以让长鱼阵更容易阅读和维护吗?

时间:2017-10-09 07:49:49

标签: arrays readability fish maintainability

我正在用鱼写一个简单的脚本。我需要传递一个数组如下:

set PACKAGES nginx supervisor rabbitmq-server
apt install $PACKAGES

但是随着阵列越来越长,它越来越难以阅读和维护......

set PACKAGES nginx supervisor rabbitmq-server libsasl2-dev libldap2-dev libssl-dev python3-dev virtualenv

还有另一种方法来定义一个更容易阅读的数组吗?例如,垂直注释:

set PACKAGES
    nginx
    supervisor
    rabbitmq-server

    # LDAP packages
    libsasl2-dev
    libldap2-dev
    libssl-dev

    # Python packages
    python3-dev
    virtualenv
end

1 个答案:

答案 0 :(得分:4)

  • 您可以转义换行符以继续下一行的当前命令(并忽略带注释的行)

  • 您可以使用多个set调用

e.g。

set PACKAGES \
      nginx supervisor rabbitmq-server \
      # Python packages
      python3-dev virtualenv

 # LDAP
 set PACKAGES $PACKAGES libsasl2-dev libldap2-dev libssl-dev

在当前的fish git中,set获得了“--append”/“ - a”和“--prepend”/“ - p”选项,因此您无需重复变量名称(上面的“$ PACKAGES”。