É possível inserir comentários em um comando longo com novas linhas de escape?

1

Eu tenho uma longa linha de comando, mais longa, mas semelhante ao exemplo abaixo. Eu gostaria de adicionar comentários ao argumento individual no sentido do que é mostrado aqui:

ssh -N \
    -R :10000:10.0.0.1:80 \ # test system
    -R :10001:10.0.0.2:80 \ # integration system
    -R :10002:10.0.0.3:80 \ # database foo
    -R :10003:10.0.0.4:80 \ # some other server
    example.com

Mas isso infelizmente não funciona, pois os caracteres \ aqui não mais escapam das novas linhas. Em vez disso, ele escapa do espaço na frente do # an, portanto, impede que o # seja analisado como o início de um comentário ( # pode não aparecer dentro de um token se for analisado como o início de um comentário ).

Isso também não funciona porque aqui, em vez de \ escapar do # , o # agora impede que o \ seja interpretado.

-R :10000:10.0.0.1:80 # test system \

Existe alguma maneira de misturar comentários e argumentos de linha de comando (talvez em linhas individuais) de um único comando longo? Se não, o que você sugere que eu faça para de alguma forma associar os dados passados ao comando com recomendações para descrevê-lo?

    
por Feuermurmel 26.08.2014 / 15:45

1 resposta

3

Desta pergunta do StackOverflow Bash: How colocar comentário de linha para um comando de várias linhas? esta resposta :

Essencialmente, usando a substituição de comandos do bash de bash, pode-se colocar esses comentários em qualquer lugar ao longo de longa linha de comando, mesmo se estiver dividida em linhas. Eu coloquei o comando echo na frente do seu exemplo para que você possa executar o exemplo e ver como ele funciona.

echo CommandName InputFiles '#1st comment' \
             --option1 arg1 '#2nd comment' \
             --option2 arg2 '#3rd comment'

Outro exemplo onde você pode colocar vários comentários em pontos diferentes em uma linha.

some_cmd --opt1 '#1st comment' --opt2 '#2nd comment' --opt3 '#3rd comment'
    
por 26.08.2014 / 16:18