Eu gosto de usar o seguinte formato em scripts para comandos com muitos parâmetros (para facilitar a leitura):
docker run \
--rm \
-u root \
-p 8080:8080 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "$HOME":/home \
jenkinsci/blueocean
Mas, às vezes eu gostaria de comentar um desses parâmetros como:
# -p 8080:8080
Isso não funciona, pois o EOL é interpretado como retorno e o comando falha. Tentei isso também:
\ # -p 8080:8080
que também não funcionou.
Pergunta: Existe uma maneira de comentar o parâmetro, então ele ainda está em sua própria linha, mas eu conseguiria executar o script?
Você não pode comentar um pedaço de uma linha.
Observe que, como as novas linhas são escapadas, o comando é na verdade uma única linha (para o analisador de shell) e não há como comentar uma parte de uma única linha (exceto no final).
Em vez disso, talvez apenas faça uma cópia do comando original em um editor e comente-o completamente, mantendo o comando modificado sem comentários:
Como alternativa, se você quiser excluir ou alterar ocasionalmente a
-p
opção e seu argumento (assumindobash
ou um shell com a mesma sintaxe de matriz):Em seguida, basta alterar ou comentar a atribuição para
port
.Levando isso adiante:
Dentro da atribuição do array, não há problemas em comentar uma linha:
Você pode substituir uma substituição de comando vazia: