A web está cheia de terminologia que pode ser um pouco confusa para quem não é da área de TI. Alguns desses termos podem ser código-fonte, scripts ou script, snippets, etc. Bem, em termos de código-fonte, é todo aquele texto ou informação escrita em uma linguagem de programação e respeitando uma determinada sintaxe para formar um algoritmo ou função específica que irá compor o programa.
Assim, código-fonte é um termo um pouco mais genérico e amplo, podendo incluir também dentro dos demais termos, visto que um snippet é um fragmento de código-fonte que não se torna muito complexo em geral. Por exemplo, quando nos dedicamos ao web design ou precisamos inserir um banner em nosso site, normalmente os fornecedores de anúncios como Google Adsense ou Amazon Affiliates nos fornecem um snippet com o código HTML para poder inseri-lo em nosso site. Portanto, não é um programa completo, mas sim pequenos pedaços de código reutilizáveis.
Linguagem interpretada vs linguagem compilada:
Se você está se perguntando o que é um script ou scriptVocê deve saber que na programação este termo é usado para se referir ao código-fonte escrito em algum tipo de linguagem interpretada (quase sempre). E que diferença há para as linguagens de programação compiladas tradicionais? Bem, ao contrário destes, o código-fonte não é compilado uma vez e transformado em binário, mas sim um interpretador é necessário para atuar como um intermediário e cada vez que o programa for executado, o interpretador deve traduzir o código para a máquina entender . Ou seja, as etapas resumidas seriam:
- Escreva o código-fonte do programa usando alguma linguagem de programação para compilar como C, BASIC, C ++, Ada, ALGOL, D, COBOL, GO, Fortran, G, Lisp, Pascal, Swift, Visual Basic, etc. O código pode ser escrito em qualquer editor de texto ou usando um ambiente de desenvolvimento mais completo ou IDE.
- Nós compilamos o código fonte usando algum compilador, como GNU GCC. Com isso, conseguimos transformar esses comandos em uma linguagem de alto nível que somente programadores e compiladores entendem em uma linguagem de máquina ou binária que é compreensível ou executável pela CPU.
- El binário pode ser executado quantas vezes precisarmos sem passar pelas etapas anteriores novamente. Na verdade, a maioria dos fornecedores de software nos envia o binário diretamente para ser executado em nosso computador. Será o sistema operacional que gerenciará os processos necessários para isso, syscalls, etc.
Por outro lado, os scripts não seguem essas etapas e são utilizadas linguagens interpretadas. Existem muitos idiomas interpretados, como a usada no interpretador Bash, que será a mais usada em GNU / Linux e outros Unix, além de linguagens conhecidas como Perl, Python, Ruby, JavaScript, etc. Com eles você pode escrever o código que irá compor o script que nada mais será do que um arquivo de comando ou processamento em lote. Obviamente, dependendo da linguagem usada, a sintaxe irá variar. No caso de uma linguagem interpretada, a ordem mudaria para:
- Nós escrevemos o script ou código-fonte usando qualquer linguagem de programação. Também podemos usar um IDE ou apenas um editor de texto.
- Neste caso, não é compilado, mas pode ser executado diretamente com a ajuda do intérprete. Ou seja, se usarmos o Bash, precisamos que ele esteja instalado no sistema para poder executar nosso script. Se usarmos um script Python, precisamos do interpretador Python instalado, etc.
- Quando nós executamos o script, Será o intérprete que interpretará as palavras ou linguagem que está nele (daí o seu nome), ou seja, essas instruções não passam diretamente para o sistema operacional e CPU, pois não as reconheceria sem a ajuda do intermediário ou tradutor que é o intérprete.
Dito isso, vemos que em um caso ou outro há vantagens e desvantagens. No caso de arquivos compilados, eles não precisam de compilação em tempo de execução, portanto, uma vez compilados pela primeira vez, podemos executar o binário quantas vezes quisermos sem desperdiçar recursos nele. Esse não é o caso dos scripts, que precisarão alocar recursos também para o interpretador, pois em geral rodarão mais devagar.
Criando nosso primeiro script no Linux:
Em nosso exemplo, usaremos a linguagem de programação interpretada do próprio Bash e, portanto, nosso interpretador será o Bash. Em primeiro lugar, devemos saber que muitos arquivos de script têm cabeçalhos conhecido como shebang de acordo com o intérprete utilizado. Por exemplo, no Linux podemos encontrar diferentes interpretadores, no caso do Bash, o shibang é #! / Bin / bash, mas em qualquer outro caso será o binário que aponta para o interpretador ou shell neste caso. Além disso, no caso do Unix e do Linux, o arquivo de script geralmente tem a extensão .sh.
No script, podemos usar comandos do interpretador, operandos, constantes, etc. Por exemplo, podemos criar um script simples para fazer cópias de backup em nosso sistema e criar um registro com a data criando um arquivo chamado backup.sh com nosso editor de texto favorito. Seu conteúdo será:
<div> <pre><span class="com">#<span class="simbol">!</span>/bin/bash </span></pre> <pre>tar cvf /backup/copia<span class="simbol">.</span>tar /home/usuario</pre> <pre>date <span class="simbol">></span> /backup/log_copia</pre> </div>
Por exemplo, no exemplo acima, você criará uma cópia de backup do diretório / home / user e a compactará em um tarball chamado copy.tar e, em seguida, escreverá um registro de data. Para executá-lo, teremos que dar-lhe permissões de execução, por exemplo:
chmod +x backup.sh ./backup.sh
Um exemplo simples Acho que para a maioria dos novatos o que é um script. Que é uma pergunta bastante recorrente ultimamente ...
Como eu modifico o desktop.ini
lembranças
Bem, graças a Deus você explicou de uma maneira simples. Eu tenho tudo muito claro ... só que agora terei que procurar o que é um "bash" ,, "snippets", syscalls, etc etc etc, para o resto, tudo muito claro. Só uma coisinha, nada mais; Se eu obtiver uma janela que me dá três opções (cancelar e mais duas, não me lembro) sobre um script, o que devo fazer normalmente? Posso introduzir algum tipo de vírus? Porque não me lembro de querer abaixar nada para que a dita janela saia. Explique para um desajeitado, por favor
Isso me ajudou muito, porém o código de exemplo é muito confuso, pois não conheço a maioria dos rótulos, gostaria que você tivesse colocado para que serve cada coisa que você colocou no código e assim entendeu bem, também tive a dúvida isso é um arquivo .sh?