Eu tenho um script de outra pessoa que tem uma aparência (nota: é um único arquivo):
#!/bin/bash
some commands
some commands
#!/bin/bash
some commands
some commands
#!/bin/bash
some commands
some commands
Gostaria de saber qual é o propósito da segunda e terceira travestis? É por engano ou de propósito?
bash
shell-script
shebang
Barat Sahdzijeu
fonte
fonte
#!/bin/bash
precedidos pelo<<
construto (aqui documento) sãosome command <<end_of_script_flag
:?<<
construção. Apenas 'shebangs simples e alguns comandos Remover (este era script de desinstalação)#!
linhas extras ?Uninstall.command
(plataforma: Mac OS X).Respostas:
Se essas linhas não forem o começo dos scripts de shell incluídos a serem construídos, ou seja, dentro de um esquema do formulário:
Em seguida, a construção repetida que você encontrou é o resultado de muitos
copy
-paste
de shell scripts completos, mas sem cuidado e compreensão do que é o uso destes comentário muito especial na linha 1 de scripts do suficiente, começando com#!
.Tenha cuidado antes de usar um script de shell (não
sudo
, nãosu
:)).fonte
/bin/rm
(+ coisas fictícias para alimentar o robô)!source
definisse pelo nome. Mas não vejo a necessidade de comentar o cérebro. É perfeitamente admissível dessa maneira e é exatamente a razão pela qual o shebang é uma linha de comentário.Sem propósito, estes são apenas comentários. A menos que 'alguns comandos' contenha alguns comandos que salvam isso em um arquivo separado para execução posterior.
fonte
rm
operações que desinstalam alguns aplicativos. Eu pensei que poderia estar relacionado à bifurcação de novo shell, mas aparentemente era uma pasta de cópia suja pelo criador do script.#!
mesmo uso no nível do kernel (vejaman execve
) em qualquer sistema Unix (OpenBSD, FreeBSD, MacOS X, Kali-linux…). Obash
simplesmente vê isso como um comentário.mv ln cp dd vi ...
junto com outros 200 comandos? Por que você não está estressando eles também? Eles podem se sentir deixados de fora.