{"id":22922570,"url":"https://github.com/amaurybsouza/scripts-bash","last_synced_at":"2025-05-12T23:12:34.866Z","repository":{"id":128877231,"uuid":"129730767","full_name":"amaurybsouza/scripts-bash","owner":"amaurybsouza","description":"The practical way how to use scripting (bash), some examples of script from basic to advanced for infrastructure automation and daily routine working on LINUX servers. (constantly updating)","archived":false,"fork":false,"pushed_at":"2020-06-25T00:27:23.000Z","size":3042,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T04:32:46.576Z","etag":null,"topics":["automation","bash","devops","infra","infrastructure-as-code","linux","linux-kernel","scripting","scripting-language","shell-script"],"latest_commit_sha":null,"homepage":"https://amaurybsouza.medium.com/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amaurybsouza.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-16T11:15:36.000Z","updated_at":"2023-09-14T06:50:56.000Z","dependencies_parsed_at":"2023-04-29T18:45:36.413Z","dependency_job_id":null,"html_url":"https://github.com/amaurybsouza/scripts-bash","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amaurybsouza%2Fscripts-bash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amaurybsouza%2Fscripts-bash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amaurybsouza%2Fscripts-bash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amaurybsouza%2Fscripts-bash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amaurybsouza","download_url":"https://codeload.github.com/amaurybsouza/scripts-bash/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253837463,"owners_count":21971984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","bash","devops","infra","infrastructure-as-code","linux","linux-kernel","scripting","scripting-language","shell-script"],"created_at":"2024-12-14T08:11:12.393Z","updated_at":"2025-05-12T23:12:34.858Z","avatar_url":"https://github.com/amaurybsouza.png","language":"Shell","readme":"## Mostrando o uso básico de Shell Script\n\n- Editor usado: VIM (versão 8.0.1453). Para saber mais detalhes do VIM, acessa esse link aqui: [VIM](https://github.com/amaurybsouza/LPIC1-Linux_Administrator/blob/master/Exame%20101/Topic%20103:%20GNU%20and%20Unix%20Commands/103.8%20Perform%20basic%20file%20editing%20operations%20using%20vi)\n- Vantagens do projeto: uso básico de comandos do shell, automação da infra, loops e condicionais em shell e debug do código.\n- Quando usar shell script? Você pode usar sem moderação, o bash é muito poderoso e oferece diversas funcionalidades e para facilitar o dia a dia você pode automatizar as tarefas usando scripts, como por exemplo, um backup automático de um diretório, a instalação de programas, instalação do LAMP, etc.\n- Descrição do projeto: abaixo irei mostrar algumas formas de uso de scripts, na qual obtive resultados reais.\n\n### Onde buscar conhecimentos de shell? Na Udemy e de graça! :-)\n- Linux Fundamentals for IT Professionals (https://www.udemy.com/linux-fundamentals-for-it-professionals/)\n- Intro to Linux Shell Scripting (Free course) (https://www.udemy.com/linux-shell-scripting-free/)\n- Conceitos de Programação em Shell Script (https://www.udemy.com/conceitos-de-programacao-em-shell-script/)\n- Livro \"Programação Shell Linux\" - por Julio Cezar Neves.\n- Livro \"Shell Script Profissional\" - por Aurelio Marinho Jargas.\n\n## Condições importantes:\n\n### Argumentos especiais\n\nArgumentos| Descrição\n--------- | ----------------------------------------------\n   $0     | contém o nome do script que foi executado\n   $#     | contém o número de argumentos que foi passado \n   $*     | retorna todos os argumentos de uma vez só\n   $$     | PID do processo atual (do próprio script)\n   $?     | retorna o valor do último comando executado\n   $_     | último argumento do último comando executado\n   $@     | Idem ao $*, acrescentando proteção\n   $1     | exibe o primeiro parâmetro informado\n   $8     | exibe o oitavo parêmtro informado\n   $!     | Exibe o PID do processo em background (job)\n   \n\n### Comparações númericas\n\nComparação | Descrição\n-----------|--------------------------------------\nn1 -eq n2  | verifica se n1 é igual a n2\nn1 -ge n2  | verifica se n1 é maior ou igual a n2\nn1 -gt n2  | verifica se n1 é maior do n2\nn1 -le n2  | verifica se n1 é menor ou igual a n2\nn1 -lt n2  | verifica se n1 é menor do que n2\nn1 -ne n2  | verifica se n1 é diferente de n2\n\n### Status de saída\n\nCódigo | Significado\n-------|-----------------------------------------------\n0      | comando completado com sucesso\n1      | erro geral desconhecido\n126    | o comando não pode ser executado (permissões)\n127    | comando não encontrado\n130    | comando finalizado com Ctrl + C\n\n\n### Como fazer um cabeçalho objetivo? Veja a tela abaixo: :-)\n\n- É sempre importante criar um cabeçalho para seus scripts, pois outras pessoas poderão usar o seu código em projetos futuros, e dessa forma, com o cabeçalho criado, mostrando a forma de se usar o script, facilita o uso.\n\n- Confira na tela uma template de cabeçalho para seu script:\n\n![atualiza_sistema.sh](ScriptsTestes/foto2.png)\n\n### Loops e Condicionais\n\n1) Instrução if: [verifica_nome.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/TesteIf1.sh), [vai_no_show.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/ScriptsTestes/if3_1.sh), [jogo_secreto.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/ScriptsTestes/jogo_secreto.sh), [verifica_valor.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/ScriptsTestes/verifica_valor.sh), [checa_numero.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/ScriptsTestes/compare.sh), [teste_arquivo.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/ScriptsTestes/dir.sh)\n\n2) Instrução case: [operações.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/ScriptsTestes/operacoes.sh), [atualiza_sistema.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/ScriptsTestes/atualiza_sistema.sh), [instala_programas.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/ScriptsTestes/instala_programas.sh), [status_apache.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/ScriptsTestes/start_apache.sh)\n\n3) Instrução for: [Exemplo1](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/InstrucoesLoop.txt), [Exemplo2](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/InstrucoesLoop2.sh), [verifica_diretorio.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/TesteFor2.sh)\n\n4) instrução while\n\n### Scripts diversos sobre o sistema Linux\nA ideia aqui é apresentar um pouco de Shell Script como um meio agradável e simples de automatizar tarefas do dia a dia.\n- Script para gerar relatório do sistema: [relatorio_sistema.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/RelatorioMaquina.sh).\n\n- Script simples que mostra um exemplo básico do Case: [teste_case.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/ScriptCase.sh).\n\n- Mostrando a hora atual: [hora_atual.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/HoraAtual.sh).\n\n- Script que soma valores: [operacoes.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/SomaValores.sh)\n\n- Script básico de um menu usando o Case: [menu_case.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/MenuCase.sh)\n\n- Script que gera um relatório de um usuário do sistema: [relatorio_usuario.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/RelatoriodeUsuario.sh)\n\n- Script que mostra um exemplo básico de operações com valores: [valores.sh](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/OperacoesValores.sh)\n\n\n### Scripts para automatização de rotinas\n\n- Script que faz a instalação do Zabbix Agent 4.0 em sistemas Debian: [ZabbixAgent4.0](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/InstalacaoZabbixAgent.sh)\n\n- Script que faz a instalação do Zabbix Agent 4.0 no sistema CentOS: [ZabbixAgent4.0](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/ZabbixAgentCentos.sh)\n\n- Instalação automática de programas: [Programas Linux](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/Install_Softwares.sh)\n\n- Instalação do LAMP (Apache, MariaDB, PHP): [Lamp_Linux](https://github.com/amaurybsouza/Shell-Script/blob/master/CursoShellScript/ScriptsAmaury/webserver_ubuntu.sh)\n\n- Verificação de informações do hardware/sistema: [Hardware_Machine](https://github.com/amaurybsouza/Shell-Script/blob/master/scripts_novos/hardware_machine.sh)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famaurybsouza%2Fscripts-bash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famaurybsouza%2Fscripts-bash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famaurybsouza%2Fscripts-bash/lists"}