Prática segura para comentar uma cadeia de comandos?

1

Existe alguma maneira segura de documentar uma longa cadeia de comandos com comentários para os leitores que não representem um risco para o meu sistema?

Supondo que todas as etapas estejam corretas e intencionais, finja que eu tenho o seguinte:

step 1
step 2
step 3
...
step 76
step 77
- this next step needs to move files to xyz so that dependency ufh will properly resolve
step 78
step 79
...
step 203
- multi-line comment which explains something really long and should be
- manually wrapped for legibility purposes.
- Oh yeah, and it is followed by a list:
- * list item 1
- * list item 2
step 204
...
step 326
- another comment but this time I contain sudo ls / for some unholy reason
step 327
...
step 435

Eu gostaria de copiá-lo de cima para baixo e clicar com o botão direito e colá-lo em uma sessão do PuTTY para que os comandos sejam executados sequencialmente, mas não executem algo não intencional dos comentários.

Com base em comentários e respostas, parece que é questionável se estou ou não realmente no shell bash.

echo $o

produz "-bash"

    
por MonkeyZeus 23.02.2018 / 21:21

2 respostas

4

Essa é uma coisa genericamente insensata a se fazer.

Se você estiver usando o Bash, como a tag sugere, então, contanto que shopt interactive_comments está em , você pode usar comentários reais com # . Isso é ativado por padrão, mas pode ser desativado no shell que você está usando. Você poderia ativar isso explicitamente no topo:

shopt -s interactive_comments
command...
# a comment
more commands...

No entanto, se você estiver preocupado com ações mal-intencionadas , você nunca deve copiar texto para o terminal . O conteúdo malicioso pode estar oculto onde você não o vê (e < href="https://thejh.net/misc/website-terminal-copy-paste"> aqui está um exemplo de trabalho para tentar - não precisa estar em um comentário. Se você realmente tem 435 passos, ele pode estar escondido mesmo quando você o vê e você nunca vai notar.

Um script de shell real seria melhor (e os comentários definitivamente funcionariam lá), mas, novamente, se você estiver preocupado com a malícia, precisará revisar com muito cuidado antes de executá-lo. Copiar e colar no terminal não é confiável em qualquer caso (como mostra uma série recorrente de perguntas neste site), e seria melhor encontrar um fluxo de trabalho que não dependesse dele.

    
por 23.02.2018 / 21:44
2

Você pode adicionar comentários com segurança no meio de uma linha ou ao longo de várias linhas usando a substituição de comando. Esta resposta de estouro de pilha deve mostrar como adicionar comentários com segurança.

Para sair do seu exemplo, ficaria assim:

step 1 '#1st comment' \
step 2 '#2nd comment' \
step 3 '#3rd comment' \
step 4 --some_options '#4th comment' --additional_options '#5th comment' --final_options '#6th comment'

Você também pode consultar esta resposta , que deve ajudá-lo. Existe alguma razão para isso ter que ser copiado e colado no PuTTY especificamente? Uma solução seria usar scp ou algum outro método para transferir o arquivo de script de shell para sua máquina remota e depois executar o script lá.

    
por 23.02.2018 / 21:44

Tags