Programa de músicas
Publicado por Alentz (última atualização em 08/07/2016)
[ Hits: 4.671 ]
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
Calculadora em Shell + - * ** / e Raiz quadrada
Renomear seu pendrive (Debian)
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
firefox nao guarda meus logins nos sites (1)
Instalar debian testing (13) "por cima" do debian 12 (2)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (1)