{"id":22761612,"url":"https://github.com/digoarthur/bash-commands-tricks","last_synced_at":"2026-05-16T17:08:02.414Z","repository":{"id":191619509,"uuid":"684009980","full_name":"digoarthur/bash-commands-tricks","owner":"digoarthur","description":"Tips \u0026 Tricks ~Bash~ - Apresento aqui algumas aplicações utilizando Bash. Explicando a funcionalidade de cada comando e aplicações baseando-se em GIT, React e funções gerais no SO.","archived":false,"fork":false,"pushed_at":"2023-10-26T15:00:44.000Z","size":1399,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-23T18:05:33.763Z","etag":null,"topics":["bash"],"latest_commit_sha":null,"homepage":"","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/digoarthur.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-08-28T09:02:35.000Z","updated_at":"2024-02-13T15:33:57.000Z","dependencies_parsed_at":"2023-08-30T18:44:46.060Z","dependency_job_id":"8e6b0c0a-9595-491a-afe5-cc1c724bfbb8","html_url":"https://github.com/digoarthur/bash-commands-tricks","commit_stats":null,"previous_names":["digoarthur/bash-commands-tricks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/digoarthur/bash-commands-tricks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digoarthur%2Fbash-commands-tricks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digoarthur%2Fbash-commands-tricks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digoarthur%2Fbash-commands-tricks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digoarthur%2Fbash-commands-tricks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digoarthur","download_url":"https://codeload.github.com/digoarthur/bash-commands-tricks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digoarthur%2Fbash-commands-tricks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33111500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bash"],"created_at":"2024-12-11T09:14:02.891Z","updated_at":"2026-05-16T17:08:02.397Z","avatar_url":"https://github.com/digoarthur.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003c!--  docs: update Readme   --\u003e\n\n\n\u003c!-- VISUALIZAR NO README VSCODE  CTRL + K  V --\u003e\n\n\u003c!--------------------------------------------------------------------\u003e\n\u003c!-- COMO CONSTRUIR BADGES ---------\n\u003c!--------------------------------------------------------------------\nhttps://www.youtube.com/watch?v=cRoBt6AZgjc\nhttps://dev.to/envoy_/150-badges-for-github-pnk\n\n    BUILD \n      https://shields.io\n    ICONS\n    https://simpleicons.org/?q=react\n\n     EXEMPLO\n     \u003ca href=\"https://devdigoarthur.notion.site/Map-a87c73417a064372b122bf448f4c6ed4\"\u003e ![Alt ou título da imagem](https://img.shields.io/badge/-JavaScript-/?logo=JavaScript\u0026logoColor=white\u0026color=yellow)\u003ca/\u003e\n\n# JavaScript - Nome que aparece na Bag\n# logo=JavaScript - Muda a logo vide \u003chttps://simpleicons.org/?q=react\u003e\n# color=yellow - Define a cor da bag vide \u003chttps://shields.io\u003e\n# logoColor=white - Define a cor do icone\n--\u003e\n\n\n\n\n\n\n\n\u003c!------------------------------------ LANGUAGE BUTTONS--\u003e\n\u003c!--\n\u003cdiv align=\"right\"\u003e\n\u003ca href=\"https://github.com/DIGOARTHUR/github-automated-repos#readme\"\u003e\n    \u003cimg  height=\"35\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/257623321-95c81f57-b751-4956-b0ab-7a804ae44506.svg\" alt=\"language_USA\" border=\"0\"\u003e\n\u003ca/\u003e\n\u003cbr/\u003e\n\u003ca href=\"https://github.com/DIGOARTHUR/github-automated-repos/blob/main/README_PT.md\"\u003e\n\u003cimg  alt=\"language_Brazil\"  height=\"35\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/277121999-ebbd8cff-f85a-49a6-aa6b-acd3fde2adb8.svg\"\u003e\n\u003ca/\u003e\n\n\u003c/div\u003e\n--\u003e\n\n\u003c!--------------------------------------------------------------------\u003e\n \u003c!------------------------------------BANNER PROJECT-----------------\u003e\n\u003c!-------------------------------------- 280 x 1400 ------------------------------\u003e\n\n\n\u003ch1 align=\"center\"\u003eBash Commands Tricks ft. React \u0026 Git\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003c!--------------------------------------------------------------------\u003e\n  \u003c!------------------------------------PROJECT ICON--------------------\u003e\n  \u003c!--------------------------------------------------------------------\u003e\n  \u003cimg height=\"150px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github.com/DIGOARTHUR/bash-commands-tricks/assets/59892368/21f2781d-47c4-4d00-aa49-b48641c3165c\" /\u003e\n  \u003cbr\u003e\n  \u003ci\u003eAutomate your react and git commands and others\u003c/i\u003e\n\t\n\n  \u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\t\n\u003ci\u003e`based in`\u003c/i\u003e : [BashNotesForProfessionals](https://github.com/DIGOARTHUR/bash-commands-tricks/blob/main/BashNotesForProfessionals.pdf)\n\n\u003c/div\u003e\n\u003c/p\u003e\n\n\n\u003ch1 align=\"center\"\u003e\n \n\u003c/h1\u003e\n\n\n\n\n\u003c!--------------------------------------------------------------------\u003e\n \u003c!------------------------------------BADGES PROJECT  ----------------\u003e\n \u003c!--------------------------------------------------------------------\u003e\n\n  ![GitHub last commit](https://img.shields.io/github/last-commit/digoarthur/bash-commands-tricks\n)\n  ![GitHub](https://img.shields.io/github/license/digoarthur/bash-commands-tricks\n)\n  \n  \n\u003c!--------------------------------------------------------------------\u003e\n \u003c!------------------------------------STACKS \u0026\u0026 TOOLS ---------\u003e\n  \u003c!--------------------------------------------------------------------\u003e\n  \n\n  \n  \n\n\n  \n\n\n\n\n\n\n\n\u003c!--------------------------------------------------------------------\u003e\n\u003c!------------------------------------SUMMARY-------------------------\u003e\n\u003c!--------------------------------------------------------------------\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/DIGOARTHUR/bash-commands-tricks/#--sobre-a-aplicação\"\u003eSobre a aplicação\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://github.com/DIGOARTHUR/bash-commands-tricks/#--comandos\"\u003e Comandos\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://github.com/DIGOARTHUR/bash-commands-tricks/#-rodando-a-aplicação\"\u003e Rodando a Aplicação\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/p\u003e  \n\n\n  \n   \u003c!--------------------------------------------------------------------\u003e\n   \u003c!------------------------------------DESCRIPTION---------------------\u003e\n   \u003c!---write here : talk a little about project: what's does, example.  --\u003e\n   \n# \u003cimg  alt=\"skills\"  width=\"40\" height=\"40\" src=\"https://user-images.githubusercontent.com/59892368/148622497-164365e8-f6b0-4f40-bc75-a0ed4da6059b.png\"\u003e  Sobre a aplicação \n---\n\u003e O uso de comandos script bash é uma forma de interação direta com a sua máquina, possibilitando executar ações como criação, remoção de pastas/arquivos, iniciar aplicações,\n\u003e automatizar tarefas na sua máquina como deletar arquivos que já estão a mais de 30 dias, organizar arquivos em varias outras pastas com o seu tipo determinado.\n\u003e Além dos comandos que voce executa nos terminais, há a possibilidade de criar comandos script bash executáveis que são os arquivos `.sh`.\n\u003e Com um clique no arquivo, tudo será feito na sua máquina como programado. \n\n---\n\n \u003c!--------------------------------------------------------------------\u003e\n  \u003c!------------------------------------CONTENT-------\u003e\n  \u003c!--------------------------------------------------------------------\u003e\n  \n# \u003cimg  alt=\"skills\"  width=\"40\" height=\"40\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/265221445-3a17120c-8847-4987-95ba-2014dc8d2e5f.png\"\u003e  Comandos\n\n  \u003cbr\u003e   \u003cbr\u003e   \u003cbr\u003e\n  \n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"80px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/265223569-f51d64ec-bd55-40ea-ba6b-869cae3bbbf9.png\" /\u003e\n\t  \u003cimg height=\"80px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/265223293-b0d45dac-7087-4cb6-9dc5-4335b7160cd8.png\" /\u003e\n  \u003cbr\u003e\n  \u003ci\u003eSistema Operacional\u003c/i\u003e\n  \u003cbr\u003e\n\u003c/p\u003e\n\n## Organizar arquivos através de pastas \n###### [organize-file-types.sh](https://github.com/DIGOARTHUR/bash-commands-tricks/blob/main/organize-file-types.sh)\n\n```bash\n#!/bin/bash\nmkdir imgs\nmv *.{png,jpeg,jpg} imgs\n\nmkdir svgs\nmv *.svg svgs\n\nmkdir pdfs\nmv *.pdf pdfs\n\n\nmkdir exe\nmv *.exe exe\n\nmkdir mp4\nmv *.mp4 mp4\n```\n\n- `#!/bin/bash`: instrui o sistema operacional a executar o Bash e que por vez irá interpretar a instrução passada.\n- `mkdir`: make directory, cria um diretório, uma pasta. Neste caso, são criados as pastas imgs, svgs, pdfs, exe e mp4.\n- `mv`: move, move arquivos para determinado diretório. Neste caso para as pastas criadas. \n\n\n## Deletar arquivos com mais de 30 dias sem modificação \n###### [delete-files-than30days.sh](https://github.com/DIGOARTHUR/bash-commands-tricks/blob/main/delete-files-than30days.sh)\n\n```bash\n#!/bin/bash\nfind . -maxdepth 1 -mtime +30 -delete\n```\n\n- `#!/bin/bash`: instrui o sistema operacional a executar o Bash e que por vez irá interpretar a instrução passada.\n- `find`: busca algum arquivo, diretório desejado. Teste caso `.` que significa todos.\n- `maxdepth`: responsável por indicar o nível de camadas de diretórios. Caso a pasta que você queria deletar os arquivos tenha outras pastas, o maxdepth com valor 2 varrerá os arquivos destas pastas também. Quanto maior o valor, mais profundo será feita o procedimento.\n- `mtime`: modification timestamp, é passado o dado do tempo de modificação do arquivo. O valor é em dias, sendo que neste caso colocado 30.\n- `delete`: executa a ação de deletar arquivos, diretórios. \n\n\n## Deletar todos os tipos de imagens com mais de 30 dias sem modificação \n###### [delete-type-imgs-than30days.sh](https://github.com/DIGOARTHUR/bash-commands-tricks/blob/main/delete-type-imgs-than30days.sh)\n\n```bash\n#!/bin/bash\nfind . -maxdepth 1 -name \"*.png\" -o -name \"*.svg\" -o -name \"*.jpeg\" -o -name \"*.jpg\" -mtime +30 -delete\n```\n- `#!/bin/bash`: instrui o sistema operacional a executar o Bash e que por vez irá interpretar a instrução passada.\n- `find`: busca algum arquivo, diretório desejado. Teste caso `.` que significa todos.\n- `maxdepth`: responsável por indicar o nível de camadas de diretórios. Caso a pasta que você queria deletar os arquivos tenha outras pastas, o maxdepth com valor 2 varrerá os arquivos destas pastas também. Quanto maior o valor, mais profundo será feita o procedimento. Neste caso, foi usado no maximo a camada 1, pois quero que seja deletado apenas arquivos daquele diretório e de mais nenhum além.\n- `name`: é passado o nome específico do arquivo/diretório. Neste caso foi passado a extensão do arquivo.\n- `o`: or, indica o conectivo lógico ou.\n- `mtime`: modification timestamp, é passado o dado do tempo de modificação do arquivo. O valor é em dias, sendo que neste caso colocado 30.\n- `delete`: executa a ação de deletar arquivos, diretórios. \n\n  \u003cbr\u003e   \u003cbr\u003e   \u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"80px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/265221856-f2c1ab54-b781-4505-8468-ce08f8a9ba37.png\" /\u003e\n  \u003cbr\u003e\n  \u003ci\u003eReact\u003c/i\u003e\n  \u003cbr\u003e\n\u003c/p\u003e\n\n\n## Inicializador de aplicação react\n###### [react-start-client.sh](https://github.com/DIGOARTHUR/bash-commands-tricks/blob/main/react-start-client.sh)\n```shell\n#!/bin/bash\n\n\nAPPDIRCLIENT=CRUD_React_com_MySQL/client\nAPPDIRSERVER=CRUD_React_com_MySQL/server\n\nPS3=\"Run App? :\"\n\nselect option in Yes✅ No❌;\n\ndo\n    case $REPLY in\n        1)\n            \tcd $APPDIRCLIENT\n\t\tyarn start\n\n\t\tcd $APPDIRSERVER\n\t\tyarn start\n\n            ;;\n\n        2)\n            break\n            ;;\n        *) echo \"invalid option $REPLY\";;\n    esac\ndone\n\n```\n\n\n\n- `#!/bin/bash`: instrui o sistema operacional a executar o Bash e que por vez irá interpretar a instrução passada.\n-  `APPDIRCLIENT \u0026 APPDIRSERVER`: variável que recebe o caminho para se chegar na aplicação React e API. Este caminho pode ser obtido por meio de um comando chamado pwd\n- `select option in Yes✅ No❌;`: aguarda a escolha da opção aqui passada Yes ou No.\n- `do .. case... $REPLY`: a partir do momento que é feita a escolha, o $REPLY obtem a posição sendo YES = 1 e NO = 2 e direciona para o case relacioando.\n- `cd $APPDIRCLIENT \u0026 cd $APPDIRSERVER`: choose directory, é um comando para ele 'concatenar' com o caminho de onde se encontra este arquivo .sh, com o que voce está passando agora, sendo neste caso o caminho contido na variável $APPDIRCLIENT \u0026 $APPDIRSERVER. No fim terá acesso de onde se encontra os arquivos para que logo em seguida seja feita a inicialização dos mesmos.\n- `yarn start`: comando para inicializar a aplicação. Aqui pode variar, apenas configure com o comando de inicialização, troque se for preciso.\n\n\n  \u003cbr\u003e   \u003cbr\u003e   \u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"80px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/265222207-cab38514-8a3f-4fe8-b954-c669d2f481d3.png\" /\u003e\n  \u003cbr\u003e\n  \u003ci\u003eGit\u003c/i\u003e\n  \u003cbr\u003e\n\u003c/p\u003e\n\n\n## Commitizen git commit (option select)\n###### [git-commitzen-add-commit.sh](https://github.com/DIGOARTHUR/bash-commands-tricks/blob/main/git-commitzen-add-commit.sh) \n\n\u003cdiv align=\"center\"\u003e\n\u003cimg height=\"350px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/278079362-10133958-77a4-4380-9610-21845a5d0455.gif\" /\u003e\n\u003c/div\u003e\n\n\n```bash\n#!/bin/bash\ngit add .\n\ncommitizenList=$'build\\nci\\ndocs\\nfeat\\nfix\\nstyle\\ntest'\n\nselect commitizen in $commitizenList; \ndo\n\tread -p \"git commit -m: \" message;\n\tgitCommit=\"git commit -m\"\n\tgitCommit+=\"${commitizen}\":\"${message}\"\t\n\teval $gitCommit\n \tbreak\ndone\n\nread -p \"Press [ANY] key to quit...\"\n```\n\n- `#!/bin/bash`: instrui o sistema operacional a executar o Bash e que por vez irá interpretar a instrução passada.\n- `git add .`: comando git para adicionar TODOs os arquivos no stage.\n- `select {item} in {list} do ... done`: comando para iterar a lista declarada, neste caso, $commitizenList.\n- `read -p {message} {variable}`: entrada de dados, input usuário.\n- `concatenate strings`: uso de concatenação\n\t- gitCommit+=\"${commitizen}\":\"${message}\"\n`eval $gitCommit`: variável sendo inserida como comando, o eval é utilizado para que a sentença de comando seja executada.\n-`read -p \"Press [ANY] key to quit`: comando usado para dar uma pausa no console enquanto alguma tecla NÃO seja pressionada. \n\n\n\n\n\n  \n## Commitizen git commit (option select Interative)\n###### [git-commitzen-add-commit-interactive.sh](https://github.com/DIGOARTHUR/bash-commands-tricks/blob/main/git-commitzen-add-commit-interactive.sh) \n\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg height=\"350px\" alt=\"bashftreactgit\" title=\"bashftreactgit\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/278079858-9e2bf2c5-43f3-47cd-8d8c-d01ace11abad.gif\" /\u003e\n\u003c/div\u003e\n\n```bash\nfunction print_menu()  # selected_item, ...menu_items\n{\n\tlocal function_arguments=($@)\n\n\tlocal selected_item=\"$1\"\n\tlocal menu_items=(${function_arguments[@]:1})\n\tlocal menu_size=\"${#menu_items[@]}\"\n\n\tfor (( i = 0; i \u003c $menu_size; ++i ))\n\tdo\n\t\tif [ \"$i\" = \"$selected_item\" ]\n\t\tthen\n\t\t\techo \"-\u003e ${menu_items[i]}\"\n\t\telse\n\t\t\techo \"   ${menu_items[i]}\"\n\t\tfi\n\tdone\n}\n\nfunction run_menu()  # selected_item, ...menu_items\n{\n\tlocal function_arguments=($@)\n\n\tlocal selected_item=\"$1\"\n\tlocal menu_items=(${function_arguments[@]:1})\n\tlocal menu_size=\"${#menu_items[@]}\"\n\tlocal menu_limit=$((menu_size - 1))\n\n\tclear\n\tprint_menu \"$selected_item\" \"${menu_items[@]}\"\n\t\n\twhile read -rsn1 input\n\tdo\n\t\tcase \"$input\"\n\t\tin\n\t\t\t$'\\x1B')  # ESC ASCII code (https://dirask.com/posts/ASCII-Table-pJ3Y0j)\n\t\t\t\tread -rsn1 -t 0.1 input\n\t\t\t\tif [ \"$input\" = \"[\" ]  # occurs before arrow code\n\t\t\t\tthen\n\t\t\t\t\tread -rsn1 -t 0.1 input\n\t\t\t\t\tcase \"$input\"\n\t\t\t\t\tin\n\t\t\t\t\t\tA)  # Up Arrow\n\t\t\t\t\t\t\tif [ \"$selected_item\" -ge 1 ]\n\t\t\t\t\t\t\tthen\n\t\t\t\t\t\t\t\tselected_item=$((selected_item - 1))\n\t\t\t\t\t\t\t\tclear\n\t\t\t\t\t\t\t\tprint_menu \"$selected_item\" \"${menu_items[@]}\"\n\t\t\t\t\t\t\tfi\n\t\t\t\t\t\t\t;;\n\t\t\t\t\t\tB)  # Down Arrow\n\t\t\t\t\t\t\tif [ \"$selected_item\" -lt \"$menu_limit\" ]\n\t\t\t\t\t\t\tthen\n\t\t\t\t\t\t\t\tselected_item=$((selected_item + 1))\n\t\t\t\t\t\t\t\tclear\n\t\t\t\t\t\t\t\tprint_menu \"$selected_item\" \"${menu_items[@]}\"\n\t\t\t\t\t\t\tfi\n\t\t\t\t\t\t\t;;\n\t\t\t\t\tesac\n\t\t\t\tfi\n\t\t\t\tread -rsn5 -t 0.1  # flushing stdin\n\t\t\t\t;;\n\t\t\t\"\")  # Enter key\n\t\t\t\treturn \"$selected_item\"\n\t\t\t\t;;\n\t\tesac\n\tdone\n}\n\n\nselected_item=0\nmenu_items=('build' 'docs' 'feat' 'fix' 'style' 'test')\n\ngit add .\n\nrun_menu \"$selected_item\" \"${menu_items[@]}\"\ncommitizen=\"$?\"\n\nread -p \"git commit -m: \" message;\ngitCommit=\"git commit -m\"\ngitCommit+=\"${menu_items[commitizen]}\":\"${message}\"\t\neval $gitCommit\n break\n\nread -p \"Press [ANY] key to quit...\"\n```\n\n- `#!/bin/bash`: instrui o sistema operacional a executar o Bash e que por vez irá interpretar a instrução passada.\n- `print_menu()`: função que itera e mostra as opções contidas na array $menu_items\n- `run_menu()`: função para que as opções sejam interativa, esta função mantém a tela atualizada o tempo todo que a seta de seleção se movimenta. Aqui a função print_menu() é sempre chamada.\n- `git add .`: comando git para adicionar TODOs os arquivos no stage.\n- `selected_item`: variável que armazena um valor numérico inicial de iteração, no caso 0\n- `menu_items`: array que contém as opções de commitizen\n- `run_menu \"$selected_item\" \"${menu_items[@]}\"`: chamando função e passando argumentos logo à frente.\n- `commitizen=\"$?\"`: variável que recebe o retorno da escolha feita no menu iterativo.\n- `read -p {message} {variable}`: entrada de dados, input usuário.\n- `concatenate strings`: uso de concatenação\n\t- gitCommit+=\"${commitizen}\":\"${message}\"\n- `eval $gitCommit`: variável sendo inserida como comando, o eval é utilizado para que a sentença de comando seja executada.\n- `read -p \"Press [ANY] key to quit`: comando usado para dar uma pausa no console enquanto alguma tecla NÃO seja pressionada. \n\n\n   \u003c!--------------------------------------------------------------------\u003e\n  \u003c!------------------------------------RUN APP-------------------------\u003e\n   \u003c!--------------------------------------------------------------------\u003e\n # \u003cimg  alt=\"skills\"  width=\"40\" height=\"40\" src=\"https://user-images.githubusercontent.com/59892368/142216697-dd93272c-c614-4664-9d63-c4e4dfc3e0f3.gif\"\u003e Rodando a Aplicação\n\n \n\n1. Clonar repositório:\n\n```\ngit clone https://github.com/DIGOARTHUR/bash-commands-tricks\n```\n\n\u003cimg  alt=\"skills\"  width=\"30\" height=\"30\" src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/59892368/277764081-3db6e9e2-e99e-4b1b-ac21-8056af212e71.svg\"\u003e Cuidado ao executar os arquivos antes de ler o que cada um faz.\n\n\n2. Para rodar os arquivos `.sh` coloque-os no diretório alvo.\n   \n   Ex.:\n\t2.1 Insira o `delete-files-than30days.sh` no diretório Downloads. Executando este arquivo, ele buscará arquivos que está mais de 30 dias e irá excluir.\n   \n4. Para customizar o código ou apenas verificar, mude a extensão `.sh` para `.txt`. Dê uma olhada aqui: [Mudar extensão arquivo](https://pt.wikihow.com/Alterar-a-Extensão-de-um-Arquivo)\n\n\n\n\n\n\n  \u003c!--------------------------------------------------------------------\u003e\n  \u003c!------------------------------------WHY/THANKS---------------------\u003e\n  \u003c!--------------------------------------------------------------------\u003e\n\n\n\n # \u003cimg  alt=\"skills\"  width=\"40\" height=\"40\" src=\"https://user-images.githubusercontent.com/59892368/148622627-c1eaa513-ca90-49e2-b5b8-c11d369becef.png\"\u003e Por que?  \u003c!---write here : motivation that led to created ; why did you do this program?   --\u003e\n Como foi visto o Bash é útil para automatizar rotinas e tarefas envolvendo o Sistema Operacional e ferramentas como Git e React, por exemplo. Uma outra aplicação usada também ligada ao Git é o uso do Husky, que é implementado no React, a base de rotina de execução dele é baseado no bash. Quis trazer e compartilhar diferentes aplicações para mostrar o poder e importância do uso dessa ferramenta.\n\n ---\n\n`by`: [@digoarthur](https://www.linkedin.com/in/digoarthur/)\n\n`source`:  [NotesForProfessionals](https://www.linkedin.com/in/digoarthur/)\n  \n  \n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigoarthur%2Fbash-commands-tricks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigoarthur%2Fbash-commands-tricks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigoarthur%2Fbash-commands-tricks/lists"}