Bash script Android-hoz

Kezdőlap Fórumok Programozás Bash script Android-hoz

8 bejegyzés megtekintése - 1-8 / 8
  • Szerző
    Bejegyzés
  • #2200399
    admin
    Adminisztrátor

      for i in `ls *.ipk` ; do adb install "$i" ; done

      #2200400
      l_lorincz
      Felhasználó

        Köszönöm szépen. 🙂

        Működik. Egy apró elírás van benne. *.ipk helyesen *.apk

        for i in `ls *.apk` ; do adb install „$i” ; done

        #2200401
        admin
        Adminisztrátor

          Akkor kibocsátom az első peccset:

          cat "fixate_xy.patch"
          --- xy 2010-08-18 01:04:18.000000000 +0200
          +++ xy.fix 2010-08-18 01:04:10.000000000 +0200
          @@ -1 +1 @@
          -for i in `ls *.ipk` ; do adb install "$i" ; done
          +for i in `ls *.apk` ; do adb install "$i" ; done

          #1889699
          l_lorincz
          Felhasználó

            Üdv!

            Ha ROM-ot cserélünk egy Androidos telefonon akkor minden appot újra kell telepíteni. Ez elég hosszadalmas folyamat. Ezt szeretném leegyszerűsíteni, úgy hogy a gépről telepítem a telefonra.

            Egy olyan scriptet akarok készíteni ami a következőket tudja:
            – Minden app egy mappában található a gépen .apk kiterjesztéssel
            – Egyszerre csak egy appot lehet telepíteni. Ez a megoldás nem működik: adb install *.apk, kipróbáltam úgy is, hogy két app nevét írtam egymás után, de úgysem működött.
            Gondoltam, hogy először egy listát kellene készíteni az appok neveivel, és egyesével kiolvasni, akár sorszámozni is. De lehet, hogy ez fölösleges.

            #2200402
            l_lorincz
            Felhasználó

              Elkészítettem életem első „komolyabb” bash scriptjét. Még nem tökéletes és jelen formájában nem is működik minden funkciója. Már van egy működő, de az nagyon alap funckiókat tud csak. Azt szeretném feltuningolni.
              Nyilván nem tökéletes várom is az építő jellegű kritikákat. Köszönöm.

              Amiket elképzeltem itt lentebb mennyire bonyolult megcsinálni?

              Remélem minden érthető amit meg akarok valósítani.

              echo Ez a program egy mentést készít az összes app-ról és azok beállításairól. És vissza tudja állítani a beállításokat. Sajnos a programokat más módon kell újra telepíteni.

              # Ez a menü minden programrész futása után meg kellene, hogy jelenjen. Azt már tudok, hogy while ciklussal kellene megoldani, csak még nem tudom, hogy hogyan.
              echo Kérlek válassz:
              echo b: Backup készítés
              echo r: Visszaállítás
              echo d: Backup törlése
              echo q: Kilépés
              $string
              $restore
              DATE=$(date +"%Y.%m.%d/%H.%M")

              read string

              case $string in
              b)
              mkdir -p /sdcard/llbackup/$DATE
              su
              cp -fr /system/sd/app /sdcard/llbackup/$DATE
              cp -fr /system/sd/app-private /sdcard/llbackup/$DATE
              cp -fr /data/data /sdcard/llbackup/$DATE
              ;;
              r)
              echo Válassz:
              #Kilistázza a meglévő mentéseket sorszámozva az /sdcard/llbackup/ mappából
              echo m: Mégse - visszalép a főmenübe
              read restore
              case $restore in
              1) #az 1-es sorszámú mentés visszaállítása
              su
              mount -o remount,rw /data
              cp -rf /sdcard/llbackup/$DATE/data /data
              mount -o remount,ro /data
              # a végén visszalép a főmenübe
              m)
              # FŐMENÜ
              ;;
              esac
              d)
              echo Válassz:
              #Kilistázza a meglévő mentéseket sorszámozva az /sdcard/llbackup/ mappából
              echo m: Mégse - visszalép a főmenübe
              read torles
              1)
              rm -r /sdcard/llbackup/$DATE
              # a végén visszalép a főmenübe
              ;;
              m) #FŐMENÜ
              ;;
              esac
              ;;
              esac

              #2200403
              pointux
              Felhasználó
                l_lorincz wrote:
                # Ez a menü minden programrész futása után meg kellene, hogy jelenjen. Azt már tudok, hogy while ciklussal kellene megoldani, csak még nem tudom, hogy hogyan.

                Szerintem ez pont jó lesz példának (sőt lehet, hogy még sokk is): zzz.sh
                Hát, mondjuk nem a legegyszerűbb kód, de van benne ciklusos menü, súgó a parancsokhoz, olyan gnuplotosan. Továbbfejlesztve extra igényeket is ki tud elégíteni.
                #2200404
                l_lorincz
                Felhasználó

                  Köszi. A kódot majd átnézem. Most olvasok egy Bash programozós ebookot.

                  Elindítottam, de még nem jöttem rá, hogy hogyan is működik.

                  #2200405
                  pointux
                  Felhasználó

                    Ez egy feladat megoldása volt.
                    Tulajdonképpen ez egy „bash script író” script.
                    Ha beírod a promprba, hogy help, akkor információt kapsz a létező parancsokról.
                    Ha ezt követően beírod a parancs nevét, akkor részletezi.
                    Ezt követően exit-tel léphetsz vissza az eredeti promptba.
                    Ezt követően beírod, hogy touch valami.sh, ami egy valami.sh-t hoz létre és visszaadja a promptot. (Ha más paranccsal próbálkozol, akkor figyelmeztet, hogy még nincs file definiálva.)
                    No, ezt követően, ha beírod pl. a header parancsot, akkor a file-ba írja a #!/bin/bash sort.
                    stb.
                    Exittel kilépsz.
                    Nos, neked ilyen kell, ami mindig visszaadja a promptot (az, hogy ez csak egy prompt, vagy egy menü szerű választási lehetőség, az részlet kérdés.) Ha sok a parancs, akkor a prompt célszerű, de lehet almenüket is csinálni… a help, alprompt, gyakorlatilag ezt csinálja.

                  8 bejegyzés megtekintése - 1-8 / 8
                  • Be kell jelentkezni a hozzászóláshoz.