Két féle képen is szeretném használni a yt-dlp-t mp3 letöltés és webm letöltés. Odáig jutottam, hogy a menü meg van, azt is tudom, ha csak egy parancsot adok ki akkor $1-a parancs végén a script neve után írt karaktereket beilleszti a $1 helyre. De nem tudom a két feladatot összeilleszteni. Vagy bekérni a címet, változóba tenni és igy futtani.

#!/bin/bash

elso_elem() {
    echo "mp3 letöltés"   
   yt-dlp -x --audio-format mp3 $1
}
masodik_elem(){
    echo "webm letöltés"
#    yt-dlp -x --audio-format mp3 $1    
}

press_enter() {
    echo ""
    echo -n "      Press Enter to continue "
    read
    clear
}

rossz_valasztas() {
    echo "Rossz választás! Próbálja újra."
}    
until ["$selection" = "0"]; do
     clear
     echo ""
     echo "	1   -   Mp3 készítés "
     echo "	2   -   Webm késztés "
     echo "	0   0   Exit "
     echo ""
     echo -n "   Enter selection:  "
     read selection
     echo ""
     case $selection in
        1 ) clear ; elso_elem ; press_enter ;;
        2 ) clear ; masodik_elem ; press_enter ;;
        0 ) clear ; exit ;;
        * ) clear ; rossz_valasztas ; press_enter ;;
     esac
done     

Köszönöm
  • klt válaszolt erre.
  • KiralyMarta Telepítsd fel a dialog csomagot. Terminálban szkriptben lehet vele menüket készíteni és használni.

    KiralyMarta Mit is szeretnél pontosan?
    Tőmondatokban, hogy egyértelmű és világos legyen!

      Htibi a következőre módosította a címet: Szkript írása.

      klt
      Közben folyamatosan néztem hogyan tudnám megcsinálni nem láttam a kérdésed. Egy menüt szerettem volna ahol ki tudom választani hogy mp3-ba vagy webm be töltse le a fájlt a youtube-ról és megtudjam adni melyiket.
      Sikerült, azzal egészítettem ki hogy mindkettő forma. Most ilyen ez működik de ha van jobb javaslat megnézem.

      #!/bin/bash
      
      cim=$1
      read cim
      
      elso_elem() {
         yt-dlp -x --audio-format mp3 $cim
      }
      masodik_elem(){
         yt-dlp -S 'res:1080,vcodec:vp9,vcodec:avc' $cim
      }
      harmadik_elem(){
         yt-dlp -x --audio-format mp3 $cim	
         yt-dlp -S 'res:1080,vcodec:vp9,vcodec:avc' $cim
      }
      nyomj_entert() {
          echo ""
          echo -n "     Nyomj Entert a folytatáshoz "
          read
          clear
      }
      rossz_valasztas() {
          echo "Rossz választás! Próbálja újra."
      }    
      until ["$valasztas" = "0"]; do
           clear
           echo ""
           echo "	1   -   Mp3 készítés "
           echo "	2   -   Webm késztés "
           echo "	3   -   Mindkettő "
           echo "	0   0   Exit "
           echo ""
           echo -n "   Enter választás:  "
           read valasztas
           echo ""
           case $valasztas in
              1 ) clear ; elso_elem ; nyomj_entert ;;
              2 ) clear ; masodik_elem ; nyomj_entert ;;
              3 ) clear ; harmadik_elem ; nyomj_entert ;;
              0 ) clear ; exit ;;
              * ) clear ; rossz_valasztas ; nyomj_entert ;;
           esac
      done     

      ezt mentem abba könyvtárba ahova letölteni szeretnék aztán rendezem. Köszönöm a választ.

        KiralyMarta
        Szeretném lezárni a témát de nem szeretném magamat megjelölni mert kapnám a megjegyzést, hogy könnyű így pontokat szerezni. De szeretem a lezárt dolgokat helyre tenni.

          KiralyMarta Megoldottad? Meg. Akkor egyelőre ez a legjobb válasz.
          Amúgy sincs itt olyan nagy pontvadászat...

            • Szerkesztve

            KiralyMarta Akkor fogjuk fel a dolgot úgy, hogy ez nem egy kérdés volt, hanem egy útmutató.
            Te tulajdonképpen egy segédletet írtál a fórumtársak okulására.
            Azért meg tán pluszpont járna. 🙂

            tenkes Köszönöm mind a két választ

            Ennyivel később: 22 nap

            KiralyMarta Telepítsd fel a dialog csomagot. Terminálban szkriptben lehet vele menüket készíteni és használni.

              Robi Köszönöm ezt tanulmányozom nagyon érdekel. Délután ezzel foglalkozok majd.

              minthaka Nekem tetszik a szkript hogy csak azok a lehetőségek vannak amik nekem kellenek, s ha kell bővítem. Köszönöm.

              Ennyivel később: 7 nap

              Robi
              Nézegetem, de a --menu esetében nem tudtam működésre bírni egyenlőre a változót, vagy megjelenjen egy ablak. Még nem adtam fel.

                KiralyMarta
                Itt folytatom mert script íráshoz kapcsolódik a kérdés
                van egy sorom működik de egy részét nem értem és nem tudom mit jelent mit irányítok át hova minek.
                mit=$(dialog --title "Válasz: " --menu "Lehetőség" 0 0 0 1 "Zene" 2 "Videó" 3 "Mindkettő" 4 "Kilép" 3>&1 1>&2 2>&3 3>&-)
                Ez lenne a kérdéses rész: 3>&1 1>&2 2>&3 3>&- köszönöm a segítséget.

                • klt válaszolt erre.

                  Robi
                  Ilyen lett:

                  elso_elem() {
                     echo "Milyen címet mentsünk?"
                     read cim
                     yt-dlp -x --audio-format mp3 $cim
                  }
                  masodik_elem(){
                     echo "Milyen címet mentsünk?"
                     read cim
                     yt-dlp -S 'res:1080,vcodec:vp9,vcodec:avc' $cim
                  }
                  harmadik_elem(){
                     echo "Milyen címet mentsünk?"
                     read cim
                     yt-dlp -x --audio-format mp3 $cim	
                     yt-dlp -S 'res:1080,vcodec:vp9,vcodec:avc' $cim
                  }
                  nyomj_entert() {
                      echo ""
                      echo -n "     Nyomj Entert a folytatáshoz "
                      read
                      clear
                  }
                  
                        
                  until ["$mit" = "0"]; do
                  mit=$(dialog --title "Mi legyen az eredmény: " --menu "Lehetőségek" 0 0 0 1 "Zene" 2 "Videó" 3 "Mindkettő" 4 "Kilép" 3>&1 1>&2 2>&3 3>&-)
                  case $mit in
                          1 ) clear ; elso_elem ; nyomj_entert ; vissza_menu ;;
                          2 ) clear ; echo $hova $mit ; masodik_elem ; nyomj_entert ; vissza_menu ;;
                          3 ) clear ; harmadik_elem ; nyomj_entert ; vissza_menu ;;
                          4 ) clear ; exit ; dialog --clear ;;
                   esac
                  done

                  Köszönöm

                    KiralyMarta
                    Magának a yt-dlp-nek a rendszeres (elég gyakori) frissítése megoldott?
                    Mert úgy tudom hogy a régebbi verziók nem/nem megfelelően működnek.

                      lala2
                      Igen azt látom hogy frissül, ahogy elnézem a synaptyc-ból telepítettem. most 2025.02.19 van fent.

                      • [törölve]

                      KiralyMarta Gratulálok! Sajnos kizártam magam és nem tudtam mintát küldeni.