Bash: como fazer um script executável

Eu quero pouco a pouco colocar artigos sobre BaterBom, tenho material suficiente para te ensinar aos poucos dicas, fazer roteiros e muito mais, para que nossas tarefas diárias sejam automáticas, então obviamente isso vai nos poupar muito tempo 😀

Agora vou mostrar o básico, o que você sempre precisará saber, e isso vai me ajudar no restante dos tutoriais 😉

Como fazer um script .sh?

Simples ... muito simples 😀

1. Abra um terminal, escreva o seguinte e pressione [Entrar]:

cd $HOME && touch script.sh && chmod +x script.sh

Isso será o suficiente para criar um arquivo para eles script.sh na sua pasta pessoal.

2. No terminal coloque o seguinte:

cd $HOME && echo '#!/bin/bash' > script.sh && echo '# -*- ENCODING: UTF-8 -*-' >> script.sh

3. Pronto, você tem seu roteiro pronto 😀

Se o abrirmos, teremos algo assim:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Após essa segunda linha, a partir daí as instruções são escritas.

Por exemplo, diremos a você para nos mostrar em um terminal «<° Linux é o melhor»😀

Teríamos o script da seguinte maneira:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

Como executar ou testar um script .sh?

1. Devemos ir até a pasta onde está o script, no exemplo anterior seria nossa pasta pessoal, então abrimos um terminal, nele escrevemos o seguinte e pressionamos [Entrar]:

cd $HOME

2. Agora o executamos colocando um ponto e uma barra (seguido) e seguido pelo nome do script, ou seja:

./script.sh

E bingo, já temos 😀

Faça e você verá ...

Agora um detalhe importante, no final devem sempre colocar «saída«

E bem agora, nada mais a acrescentar, é só esperar pelos tutoriais futuros, aqui você aprenderá bater HAHA.

lembranças


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Oscar dito

    Obrigado amigo, Sempre tive curiosidade em como fazer um script.sh, agora é hora de aprender, fico aguardando os próximos tutoriais.

    1.    KZKG ^ Gaara <"Linux dito

      Nah, um prazer hehe 😀
      Você vai ver ... aos poucos vou colocando tutoriais de Bash, para ver se alguém se anima, aprende e todos nós melhoramos HAHA.

      lembranças

      1.    jose dito

        Olá, precisaria de sua ajuda se puderem me ajudar com alguns roteiros que tenho travado e preciso fazer para um assunto, adoraria entrar em contato comigo.
        Muito obrigado antecipadamente

  2.   marrom dito

    Ah mortal !! ótimo 😉

    1.    KZKG ^ Gaara <"Linux dito

      obrigado
      Lembre-se que reclamações ou sugestões sempre serão bem recebidas 😉

  3.   Taregon dito

    Gostei do post, sempre que preciso de um cabeçalho de script embarco na navegação apenas para encontrar a linha: "#! / Bin / bash" no cabeçalho (sou muito esquecido). Agora, com esta contribuição, posso anotá-la e apenas copiar e colar 😀

    1.    KZKG ^ Gaara <"Linux dito

      Lembre-se que é / bash e / sh ... é diferente haha, uma vez passei 2 dias lutando com um script que não funcionou para mim como deveria, e foi porque eu coloquei sh em vez de bash 😀

      Qualquer dúvida que você nos diga.
      lembranças

  4.   xfraniux dito

    Jaajajajajaja e este é o mais simples, você também pode abrir o gedit ou qualquer editor e copiar:

    #!/bin/bash
    # -*- ENCODING: UTF-8 -*-
    echo “<° Linux es lo mejor”
    exit

    E então damos permissões de execução….

    dados muito bons .. saudações

    1.    KZKG ^ Gaara <"Linux dito

      hehe sim, isso poderia ter sido feito assim, mas não sei ... Achei que seria mais simples copiar / colar duas linhas (que pode ser uma na verdade) e pronto, pronto o script com permissões de execução e o cabeçalho 😀

    2.    bertholdous dito

      Olá. Os scripts devem sempre ser salvos como um arquivo .sh?

      No Windows, é semelhante aos arquivos .bat. E quanto à escrita, eles parecem um pouco mais simples.

  5.   Lucas matias dito

    Muito bom che

    1.    KZKG ^ Gaara <"Linux dito

      obrigado

  6.   Arturo Molina dito

    Estou ansioso para a próxima postagem e no momento tomando nota.

    1.    KZKG ^ Gaara <"Linux dito

      😉
      Alguma sugestão, script que você quer que eu faça ou algo assim? 😀

  7.   Coragem dito

    É esse que não sabe programar? Embora seja fácil, é programar

    1.    KZKG ^ Gaara <"Linux dito

      HAHAHA vamos lá ... você está animado? … Aprenda um pouco de Bash, vai ver como é bom, não precisa saber programar, longe disso 😀

      O que você disse?

      1.    Coragem dito

        Vou, hoje não sou para isso

  8.   anônimo dito

    Na verdade, se os scripts forem criados regularmente, a tarefa em si também pode ser automatizada com um script como o seguinte (ele só é copiado para $ home / bin / e recebe permissões de execução)


    #!/bin/sh
    # nuevoscript
    if [ $# -eq 0]; then
    DEST=$HOME
    SNAME=script.sh
    elif [ $# -eq 1]; then
    DEST=.
    SNAME="$1"
    else
    echo "Parámetros incorrectos"
    exit -1
    fi
    echo -e '#!/bin/bash\n# -*- ENCODING: UTF-8 -*-' > "$DEST/$SNAME" && \
    chmod +x "$DEST/$SNAME"
    echo "Creado el script $DEST/$SNAME"
    exit 0

    Desta forma, se você executar novo roteiro sem parâmetros, crie $ home / script.sh, mas se funcionar novo script outro script, cria ./otherscript

  9.   Ramsés dito

    Olá amigo, gostaria de saber como posso criar um autorun para um sdcard e que seja lido pelo meu telefone com o android e que quando for executado inicio abd.exe mais o comando bugreport> bugreport.txt

    1.    KZKG ^ Gaara dito

      Não faço ideia amigo ... Eu nunca usei Android.

  10.   Neo61 dito

    Obrigado Gaara, eu queria encontrar um lugar onde pudesse aprender alguns scripts, acho que em um e-mail mencionei isso para você, que é algo que realmente preciso aprender. Segui os passos que você detalha e está tudo perfeito mas não roda, entendi:

    ./script.sh: linha 5: EOF inesperado ao procurar por um `» 'correspondente
    ./script.sh: linha 9: erro sintático: o fim do arquivo não era esperado

    Explique-me qual é o meu erro

    1.    KZKG ^ Gaara dito

      Culpa minha, o WordPress muda alguns detalhes, olhe novamente o código do post e coloque assim no seu script.
      O que acontece é que:

      "Asd"

      Não é o mesmo que:
      "asd"

  11.   Neo61 dito

    Não entendo, ainda vejo o mesmo. Onde está a mudança? Você poderia me explicar melhor? Agora, quando você dá execução, esta linha é a saída:
    ./script.sh: linha 5: °: O arquivo ou diretório não existe

    1.    KZKG ^ Gaara dito

      Passe-me o script que você está executando, coloque o código aqui: http://paste.desdelinux.net
      Olhe a postagem novamente, é que eu tinha esquecido de clicar no botão Atualizar 😀

  12.   Neo61 dito

    Olá parceiro:
    Eu vou te dizer que eu estava olhando para o script conkyrc que você fez para o seu conky 2010 e sim, é verdade, o símbolo do disco pertence a uma fonte chamada Poky, mas não vem por padrão no libreOffice no Ubuntu 12.04. seja bom, se você tem essa fonte, me diga de onde posso baixá-la (algo um pouco difícil, realmente), uma coisa que percebi é que quando as letras desses símbolos são colocadas e a fonte não existe no sistema, aí ele coloca a letra, não o símbolo, é lógico, já estou tendo uma ideia de como tudo está funcionando, mas preciso que alguém me explique as coisas para entender melhor, tudo que faço é por dedução e nunca dei nenhuma programação, não foi informática que estudei E também, já foi outra vez, tenho a informática como hobby e o bom é que estou trabalhando em um de seus ramos, tudo o que aprendi tem Sou autodidata, daí o meu interesse em quem, ainda que aos poucos, me guie. aqui está também o script do meu conky e vou explicar o que não entendi:

    Olha, quando tento inserir outro HDD, ainda obtenho o mesmo porque dá o mesmo valor de temperatura. Não entendi as características da CPU no sistema, sai (NULL) em negrito, quando tento inserir o calendário que você colocou no Conky que o tanias em 2010 está desorganizado e alarga a barra conky. Veja todas as melhorias que você pode fazer. Gosto da largura que tenho e que o teu calendário se adapta a essa largura e que tudo o que te falei não mostra, aí vai:

    http://paste.desdelinux.net/4552

    –Coloque o código em nossa pasta, para que os comentários não sejam tão extensos–

  13.   GONZALO dito

    a verdade é que sua contribuição é lamentável

  14.   edgar dito

    Olá, você facilitou minha vida com este script. Muito obrigado por gostaria de saber se você pode me enviar um email onde você descreva isso já que sou um nevo nisso de programação.
    obrigado

    1.    KZKG ^ Gaara dito

      Olá,
      Melhor, não consegui descrever / explicar essas linhas de código, o que você não entendeu para explicar de outra forma?

      Talvez se você tiver dúvidas você pode sempre perguntar em nosso fórum: forum.desdelinux.net

      Saudações 😀

  15.   Cessar dito

    Boa contribuição, mas você poderia resumir ... Preciso de um script para um sai. Ou seja, quando Sai percebe que está na bateria e tem 20 minutos para desligar, ele envia um sinal para um dispositivo e que tem que executar o script para desligar alguns servidores. Não sei se me expliquei bem ... Valdria com colocar no teu script «shutdown -h» ??

    Obrigado!

  16.   Jesus Israel Perales Martinez dito

    Outra coisa para adicionar à minha pasta de modelos: B

  17.   Edwar dito

    Alguém poderia me ajudar eu preciso de um script para ubuntu que se fecharmos o navegador Chrome, abra-o novamente

    desde já, obrigado

  18.   edo dito

    Preciso de um script que apenas executando ele sobrescreverá as informações de um arquivo por outro texto, alguém sabe como é?

    1.    edo dito

      Eu já vi que acima falam como fazer

  19.   Dario dito

    Muito bom, excelente para meus netos.
    Mil agradecimentos. »Assim como você teve muitos jovens atuando como professores ... seria maravilhoso.

  20.   PC romano dito

    Simples e funcional, como deveria ser.

    Obrigado por compartilhar.

    Saudações.

  21.   Hernan Jaramillo dito

    Obrigado pela ajuda. Foi uma explicação útil, muito boa.

  22.   viceno dito

    Obrigado, isso me serviu. Felicidades

  23.   gamerz dito

    Simples e eficaz. Ótimo tutorial para iniciantes 🙂

  24.   Luis Carlos dito

    Olá, sei muito pouco sobre scripts e não sei se estou confundindo conceitos, mas o que estou tentando fazer é na seguinte página da web:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    A questão é que eu realmente não entendo como iniciar este código ou se ele substitui o IPTABLES. E se o substituir como seria para que inicie automaticamente com o SO.

    obrigado

  25.   Cris dito

    Terrific Gaara !!!

    Comecei a fazer o dever de casa conforme você explicou e funcionou !! Obrigado por dedicar seu tempo e compartilhar seu conhecimento para emergir das trevas com os ignorantes.

    😉

  26.   Leão dito

    Olá, tenho alguma dúvida para fazer um script que um usuário cria, você poderia me ajudar?

  27.   giovani dito

    olá eu tenho uma pergunta com um arquivo .sh
    você tem alguma maneira que
    Entrei em contato com você para ver se estou fazendo certo?

    #! / system / bin / sh
    mount -o remount, rw /
    mkdir /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc
    ln -s /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc /.xbmc
    montagem -o remontagem, ro /

    , Eu executo manualmente no terminal e se funciona, mas quando quero que o arquivo rode ele não quer.

  28.   Luís dito

    Eu encontrei este aqui no vivaolinux.com.br, é ótimo

    #! / Bin / bash

    Baseado em Gera.sh - cabeçalho Gera para scripts

    Escrito por: Sandro Marcell P. Barbosa (Boa Vista - Roraima)

    E-mail sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Exemplo de uso: script_name my_script

    Você também pode especificar a extensão, conformidade ou intérprete.

    Ex.: Nome_script backup.sh para o interpretador 'sh'

    ou nome_script backup.tcl para o interpretador 'tcl' e também para o dia!

    Definindo o intérprete que você pode (substitua por outro!):

    INTERPRETER = »#! / Bin / sh»

    Conteúdo do cabeçalho (mude como quiser!):

    INFO = »##»
    CREATOR = »## Escrito por:»
    EMAIL = »## E-mail: you@correo.com»
    DISTRO = »##»

    Verificando se o usuário especificou o nome do script:

    if [$ # -eq 0]; então
    echo ">>> Uso: $ (basename $ 0)"
    saída
    fi
    if [$ # -ge 2]; então
    echo "Nome com espaços não são válidos!"
    saída
    fi

    O usuário pode escrever no diretório atual?

    E se [! -w $ PWD]; então
    echo "Sem permissão para escrever o diretório atual!"
    saída
    fi

    E se houver outro script com o mesmo nome no diretório atual?

    se [-f $ 1]; então
    echo "Já existe um script com o mesmo nome neste diretório!"
    saída
    fi

    Corpo do script:

    (
    cat << END
    $ INTERPRETER

    $ INFO
    $ CREATOR
    $ EMAIL
    $ DISTRO

    Agora adicione comandos nas linhas subsequentes =)

    Data de criação deste script: $ (data «+% a% d /% m /% Y») em $ (data «+% T»)

    FIM
    )> $ 1

    Definindo permissão de execução:

    se [-f $ 1]; então
    chmod + x $ 1 2> / dev / stdout
    echo "Script $ 1 criado e com permissão para executar!"
    fi

    Data de criação deste script: 29/01/2013 19:45:00

    1.    debianistrowler dito

      Ótimo, funciona perfeitamente !!!

  29.   Vincent dito

    Tutorial muito bom, simples e tem me ajudado muito, obrigado

  30.   calichi dito

    Caro KZKG, sou um novato, mas estou interessado em aprender.
    Você tem outro script. Ou de repente no local onde trabalho quero abrir um que está compilado e não consigo ver.
    Alguma ideia.

  31.   calichi dito

    Preciso de ajuda com um script. Ele está compilado.

  32.   cool9 dito

    Eu entendi sobre o bash, mas se eu quiser fazer um alias automatizado ele não sai

  33.   angiesarita dito

    Muito obrigado por sua ajuda amigo.

    Gostaria de saber se você pode me fazer um grande favor, preciso criar um script que me ajude a criar um .sum em um determinado momento, mas não sei parametrizá-lo. Você pode me ajudar com algumas dicas. Obrigado e estarei atento se puderem me ajudar.

    lembranças

  34.   Joseph dito

    Olá, boa tarde, olha, estou fazendo um trabalho em lex, então gostaria que me ajudassem com um Script, com o qual posso rodar o arquivo lex, aquele que gera lex (lex.yy.c) e o arquivo de entrada de dados.

    muito obrigado

  35.   wilmer ron dito

    agrião obrigado doc !!! Sou novo no roteiro, muito obrigado saudações estarei de olho em sua nova aula particular !!!!

  36.   Karen Vega dito

    Olá!

    Muito obrigado por suas contribuições, estou começando a entrar no unix e é raro alguém explicar esse universo de código de forma tão simples. Gostaria de perguntar se com o seu procedimento posso fazer um script que me ajude a encontrar n números de arquivos que vivem no mesmo caminho, e que os copie para outra pasta ... alguém me disse que posso armazenar em um txt o caminho e o nome dos meus arquivos, mas não está claro para mim como fazer isso. Eu permaneço atento.

    Saudações !!

  37.   eibar amaya dito

    Olá eu tenho um VPS mas preciso de ajuda em algumas coisas orita por mim mesmo estou interessado em como criar um script ou algo assim para que eu execute um auto backup de tudo que está dentro da minha pasta / root e esse backup seja executado a cada 1 hora se eu você poderia ajudar nisso, eu apreciaria muito você nisso

    Vou te deixar meu facebook se você quiser me ajudar eu preciso de muita ajuda 🙂

  38.   Jorge Rodriguez dito

    crie-me um para fazer ping e monitorar certos equipamentos de rede na empresa
    mas eu fiz isso simples

    toque em red.sh && chmod + x red.sh
    jogou fora '# -- CODIFICAÇÃO: UTF-8 -- '>> red.sh
    echo 'ping 10.50.0.125 -w 5' >> red.sh
    echo 'ping 10.50.0.80 -w 5' >> red.sh

    execute-o ./red.sh e tudo bem

  39.   Projeto de lei dito

    Caro, preciso criar um script de instalação automática. Estou disposto a pagar por um trabalho bem executado. Os interessados, me mandem um e-mail para carranzalh@gmail.com. Obrigado

  40.   sário dito

    eles chupam meu pau XD

  41.   HdexzGenericName dito

    Bom dia amigo, você poderia me ajudar com algo
    Preciso fazer um backup com linux da empresa pois é mais seguro para que os vírus não o peguem mas não sei como fazê-los
    Eu preciso criar um script que irá empacotar os arquivos e enviá-los para um ftp

    Eu gostaria de escrever com antecedência para o meu e-mail

    cesarloscor@gmail.com