Quero exportar múltiplas variáveis e para isso resolvi colocá-las em um único export
comando para não chamar export
várias vezes sem motivo, o que (logicamente) seria mais lento (certo?)
Assim:
export\
var1=a\
var2=b\
var3=c
[ ... ]
varn=zzz
Mas isso não me permite mais adicionar comentários:
export\
# Comment
var1=a\
var2=b # Comment \
var3=c\
[ ... ]
varn=zzz
já que as barras invertidas colocam tudo na mesma linha.
Como posso comentar as variáveis que desejo exportar? Eu estava pensando que poderia simplesmente chamar export
cada variável, mas não quero desacelerar meu script com isso apenas para comentar.
EDITAR para mensagem duplicada: embora as outras perguntas tenham respostas que também resolvem o meu problema, acredito que as respostas e comentários aqui também têm algum valor
Sim quase isso. Você pode colocar uma substituição de comando em praticamente qualquer lugar e pode colocar um comentário em uma substituição de comando. É feio, mas funciona.
No entanto, é algo que você faria se realmente não pudesse fazer de outra maneira. Em quase todos os casos em que você pode fazer isso, é mais fácil dividir o comando em várias partes, com comentários anexados a cada parte, se necessário. Alguns comentários podem nem ser necessários se você escolher nomes de variáveis sensatos.
Definitivamente não é algo que você faria pelo desempenho. Chamar um comando externo é um tanto caro, mas chamar um comando interno não é. É improvável que a divisão de um
export
comando faça uma diferença observável no tempo que leva para executar o seu arquivo.zshrc
. (Eu comparei abaixo, e realmente faz diferença se você comparar aquela linha, mas na escala de um típico.zshrc
, isso é completamente insignificante.) Em qualquer caso, chamar um comando interno é mais barato do que uma substituição de comando, então o$(…)
item acima tornará seu script mais lento.export
Chamar cada variável é mais lento do que chamá-la uma vez por variável? Sim, um pouco. Pelo menos para o código, versão e plataforma específicos que testei: a diferença é pequena o suficiente para poder variar.No entanto, adicionar uma substituição de comando torna-o 100 vezes mais lento! (Observe o número reduzido de iterações.)