Programa de músicas
Publicado por Alentz (última atualização em 08/07/2016)
[ Hits: 4.553 ]
Download 1466206471.programa (versão 2)
O programa serve pra visualizar as músicas que estão na sua pasta Música, tocar música pedida e tocar todas em sequência.
Este é meu primeiro script, depois que li o artigo: https://www.vivaolinux.com.br/artigo/Introducao-ao-Shell-Script-1/
Criei este script voltado pra iniciantes como eu, expliquei todas as linhas que escrevi pra um bom entendimento do código (assim espero :D ).
Para o programa rodar precisa ter instalado o mpg321:
$ sudo apt-get install mpg321
IMPORTANTE! Na primeira vez que for rodar o programa, digite:
$ ./programa instalar
ou
$ bash programa instalar
isso vai criar 1 diretório e 3 arquivos na sua pasta pessoal, importantes pra interação do programa, se tiver dúvidas de onde será criado o diretório e os arquivos dê uma visualizada no começo do script.
Caso encontre algum erro no código ou uma opção melhor de comandos pra implementar no programa me mande por e-mail : lexandre.199713@hotmail.com
Versão 2 - Enviado por Alentz em 17/06/2016
Changelog: O programa serve pra visualizar as músicas que estão na sua pasta Música, tocar música pedida e tocar todas elas em sequência.
Este é meu primeiro script, depois que li o artigo: https://www.vivaolinux.com.br/artigo/Introducao-ao-Shell-Script-1/
Criei este script voltado pra iniciantes como eu, expliquei todas as linhas que escrevi pra um bom entendimento do código (assim espero :D ).
Para o programa rodar precisa ter instalado o mpg321:
$ sudo apt-get install mpg321
IMPORTANTE! Na primeira vez que for rodar o programa, digite:
$ ./programa instalar
ou
$ bash programa instalar
Esse parâmetro "instalar" vai criar 1 diretório e 3 arquivos na sua pasta pessoal, importantes pra interação do programa, se tiver dúvidas de onde será criado o diretório e os arquivos dê uma visualizada no começo do script.
Importante : Para encerrar uma música ou passar de música , aperte Ctrl + c .
Caso encontre algum erro no código ou uma opção melhor de comandos pra implementar no programa me mande por e-mail : alexandre.199713@hotmail.com
#!/bin/bash # pra rodar esse script é importante usar primeiro um dos comandos ./programa instalar ou bash programa instalar # depois de ter feito isso não é necessário repetir o comando . Use ./programa ou bash programa usuário=$(whoami) # essa variável vai ter o valor do usuário que estiver rodando o programa . $1 # esse parametro serve pra instalar o programade musica .Ex : ./programa instalar ou bash programa instalar if [ "$1" = "instalar" ];then # verificando o valor do parametro dado , se o valor do parametro $1 não for dado , # o programa não ira rodar perfeitamente . mkdir /home/$usuario/programademusica # criando pasta pro programa , na pasta pessoal do usuario . touch /home/$usuario/programademusica/localdemusicas # arquivo pra interação do programa touch /home/$usuario/programademusica/musica # arquivo pra interação do programa touch /home/$usuario/programademusica/playlist # arquivo pra interação do programa . fi lista(){ # primeira função , lista as musicas que estiverem na pasta Música na pasta pessoal do usuario ($usuario) ls /home/$usuario/Música > /home/$usuario/programademusica/localdemusicas # aqui ele lista com o ls a pasta Música e manda usando ">" # pro arquivo localdemusicas , criado no comeco do script . faixas=$(cat /home/$usuario/programademusica/localdemusicas) # variavel faixas vai ter valor do arquivo localdemusicas . # localdemusicas tem o valor do ls dado na pasta Música . if [ -n "$faixas" ];then # nessa parte eu verifico se tem musicas na pasta Música , # se tiver mostra na tela o arquivo localdemusicas se não vai pro menu . # o -n (não nulo) verifica se na variavel faixas tem valor , no caso musicas . clear # limpa a tela echo # pula linha figlet MUSICAS # figlet é o comando que deixa a palavra ou texto, legal . echo # pula linha cat /home/$usuario/programademusica/localdemusicas # vai listar na tela as musicas , que estão listadas no arquivo localdemusicas echo # pula linha echo # pula linha echo SELECIONE A FAIXA DA MUSICA . # pede pra selecionar a faixa . read numerodamusica # pegando a faixa dada escolha # vai pra função escolha else # se na comparação do if , faixas não tiver valor (musicas) , vai pro menu . echo VOCE NÃO TEM NENHUMA MUSICA ! # informa que não tem musica read # dando um tempo pro usuario ler a informação . menu # vai pra função menu , essa função esta no final do script . fi } escolha(){ # os comandos que estão nessa função podiam estar dentro da função lista entre o if , # mas achei melhor separar . uma tentativa de deixar mais legivel o script ^^ clear # limpa a tela figlet musica # figlet , comando pra deixar a letra bacana sed -n "$numerodamusica"p /home/$usuario/programademusica/localdemusicas > /home/$usuario/programademusica/musica # aqui entra o sed , ele vai pegar a parte da linha informada pela variavel $numerodamusica no arquivo localdemusicas . # depois de pego vai mandar o resultado pro arquivo musica . pegando=$(cat /home/$usuario/programademusica/musica) # $pegando vai pegar como valor o arquivo musica . # O que tem dentro do arquivo musica é o resultado do comando sed . mpg321 /home/$usuario/Música/"$pegando" # mpg321 aciona a musica . #é essa linha do codigo que eu gosto , usei duas variaveis importantes pro script pra indicar o caminho pro mpg321 . #e tbm é nessa linha q torna o script funcional com qualquer usuario e musica . menu # vai pra função menu depois que acabar a musica . } playlist(){ # função pra tocar todas musicas que estiverem na pasta Música proximo=$'1' # definindo a variavel pro loop e comparação . while [ $proximo > 0 ];do sed -n "$proximo"p /home/$usuario/programademusica/localdemusicas > /home/$usuario/programademusica/playlist # esse sed é quase igual o da função escolha . ele não usa read pra pegar valor , usa a variavel $proximo pra dar continuação nas musicas . # tbm esse sed envia o resultado pra um outro arquivo , a playlist . pegando=$(cat /home/$usuario/programademusica/playlist) # essa variavel $pegando vai servir pra verificar se ainda tem musicas para serem tocadas . if [ -z "$pegando" ];then # -z (nulo), se não tiver valor ( musicas para serem tocadas ) ir pro menu . menu # indo pra função menu . else # se caso $pegando tiver valor , pode continuar com o codigo . clear #limpa a tela figlet PLAYLIST # letra bacana echo mpg321 /home/$usuario/Música/"$pegando" # mpg321 toca a musica dada pela variavel pegando . O valor dela é o resultado do comando sed la em cima . proximo=$(($proximo + 1)) # aqui ele vai aumentar o valor de $proximo pra +1 . # criando um loop . Só irá parar quando a variavel pegando não tiver valor ^^ , # quando passar pelo if e $pegando n tiver valor (musicas) o programa ira pro menu . fi done # volta pro while ^ } menu(){ # função menu , aqui o programa só ira se apresentar . clear echo echo -e "\033[01;33m" # \033[00;33m cor amarela no texto . figlet BEM VINDO sleep 1 # dorme durante 1 segundo echo echo "==================================" echo "= ESTE É O PROGRAMA DE MÚSICAS. =" echo "= VOCE PODE VISUALIZAR SUAS =" echo "= MUSICAS , PRODUZILAS E =" echo "= ESCUTAR TODAS EM SEQUENCIA. =" echo "==================================" echo -e "\033[01;31m==================================" echo "= Autor: Alentz =" echo -e "==================================\033[01;31m" # aqui quebro a cor amarela e coloco a vermelha , 31m sleep 2 # 2 segundos echo echo echo -e "OQUE VOCE DESEJA ACESSAR ? INFORME COM O NUMERO !" sleep 1 echo echo -e "\033[01;33m=================================" # volta pra amarela 33m echo "=== 1 ) Titulos ===============" echo "=== 2 ) Reproduzir todas ========" echo "=================================" read acesso # pega o valor dado pelo usuario if [ "$acesso" = "1" ];then lista # vai pra função lista fi if [ "$acesso" = "2" ];then playlist # aqui pra playlist fi } menu # começa o programa . Chamo a função menu . for((loop=2;loop>1;loop++))do # este for é pra caso se o usuario digitar errado ele vai ser direcionado denovo pro menu . menu done
Shell Script simples usando case
Personalizar teclado, alterar função de uma tecla
Exibir configurações de REDE de maneira amigavel.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta