我正在用鱼写一个简单的脚本。我需要传递一个数组如下:
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
答案 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”。