[SCRIPT] autorun.sh - Erstellen von Start- und Stopp-Scripten

  • [SCRIPT] autorun.sh - Erstellen von Start- und Stopp-Scripten

    [aus dem Thema QNAP autostop.sh - Skripte beim Herunterfahren automatisch ausführen kopiert.]

    Auf dem Qnap gibt es unter /etc die beiden Verzeichnisse rcS.d und rcK.d ! in diesen Verzeichnissen sind symlinks auf die Skripte unter /etc/init.d

    Beim Booten werden alle mit den Symlinks unter /etc/rcS.d verknüpften Scripte mit dem Parameter "start" ausgeführt.
    Beim Runterfahren/Reboot/Shutdown werden alle Skripte die in /etc/rcK.d verknüpft sind mit dem Parameter "stop" ausgeführt.

    Die mit den Symlinks verknüpften Skripte müssen nicht zwingend unter /etc/init.d gespeichert sein!

    Also brauchst du auf deinem System ein Script was mit dem Parameter "stop" aufgerufen werden kann und einen Symlink unter /etc/rcK.d der auf dieses Skript verweist. Da man keine Dateien oder Sysmlinks bootfest unter /etc anlegen kann muss dieser Symlink in /etc/rcK.d bei jedem booten vom NAS neu angelegt werden damit der beim Runterfahren vorhanden ist! Dies kann man mit "autorun" beim Booten realisieren!
    Und wenn man schon mal ein Skript anlegt das beim Booten ausgeführt wird, was hindert daran dies Skript auch gleich dafür zu benutzen um dort alles einzutragen was auch beim runterfahren ausgeführt werden soll. Voraussetzung dafür ist, dass dieses Script die Parameter (Argumente) start / stop ünterstützt.

    Beispiel:


    Shell-Script: Start / Stop Skript - autorun.sh

    1. #!/bin/sh
    2. #autorun.sh
    3. start()
    4. {
    5. echo `date` Start APP "AutoRun" autorun.sh >> /var/log/autorun.log
    6. # Autorun ausführen bei shutdown/restart/poweroff
    7. ln -s /share/MD0_DATA/.qpkg/autorun/autorun.sh /etc/rcK.d/K01autorun
    8. # ab hier alles eintragen was noch beim "start" ausgeführt werden soll
    9. # Ende - was beim "start" ausgeführt werden soll
    10. }
    11. stop()
    12. {
    13. echo `date` Stop autorun.sh >> /var/log/autorun.log
    14. # ab hier alles eintragen was noch beim "STOP" ausgeführt werden soll
    15. # Ende - was beim "STOP" ausgeführt werden soll
    16. }
    17. # you do not need to edit this lines
    18. case "$1" in
    19. start)
    20. start
    21. ;;
    22. stop)
    23. stop
    24. ;;
    25. restart)
    26. # Restarting the Daemon
    27. $0 stop
    28. $0 start
    29. ;;
    30. *)
    31. ## If no parameters are given, print which are avaiable.
    32. echo "Usage: $0 {start|stop|restart}"
    33. exit 1
    34. ;;
    35. esac
    36. exit
    Alles anzeigen
    Eventuell muss noch in Zeile 7 /share/MD0_DATA/.qpkg/autorun/autorun.sh der Pfad angepasst werden!

    Das weiter oben verlinkte Skript im anderen Beitrag ist ein Installationsscript was "autorun" auf dem QnapNAS einrichtet unabhänig vom NASTYP !!!!! Funzt auf NAS mit Intel , ARM und auch auf x31 usw.!


    Alles Klar?

    Hier noch mal das überarbeitete Installationsscripte, dass "autorun" auf deinem NAS (unabhänig von der verwendetetn Hardware) einrichtet. Ich habe u.a. noch diverse Kommentare zur Erklärung eingefügt.

    Shell-Script: create_autorun.sh

    1. #!/bin/sh
    2. #Installation - anlegen "autorun.sh" auf einem QNAP NAS für die eigene Anpassungen
    3. #------------------------------------------------------
    4. #Hiernach ändern! Soll eventuell vohandene autorun erneuert werden (YES/NO) - Backup anlegen (YES/NO)
    5. REWRITE="YES" # YES/NO
    6. BACKUP="YES" # YES/NO
    7. #--------------- ab hier nichts mehr ändern ---------------------------------------
    8. #Ermittlung der Hardware und Festlegen was gemountet werden soll
    9. MOUNTPOINT="/tmp/config"
    10. BOOT_CONF=`/bin/cat /etc/default_config/BOOT.conf 2>/dev/null`
    11. CONFIG_DEV_NODE=`/sbin/getcfg "CONFIG STORAGE" DEVICE_NODE -f /etc/platform.conf`
    12. CONFIG_DEV_PART=`/sbin/getcfg "CONFIG STORAGE" FS_ACTIVE_PARTITION -f /etc/platform.conf`
    13. CONFIG_DEV_FS=`/sbin/getcfg "CONFIG STORAGE" FS_TYPE -f /etc/platform.conf`
    14. # check if the HAL subsystem exist
    15. modelname="$(/sbin/getcfg "System" "MODEL" -f /etc/config/uLinux.conf)"
    16. if [ -x /sbin/hal_app ]; then
    17. BOOT_DEV=$(/sbin/hal_app --get_boot_pd port_id=0)
    18. elif [ "x${BOOT_CONF}" = "xTS-NASARM" ]; then
    19. BOOT_DEV="/dev/mtdblock"
    20. else
    21. BOOT_DEV="/dev/sdx"
    22. fi
    23. if [ "x$CONFIG_DEV_NODE" != "x" ]; then
    24. DEV_NAS_CONFIG=${CONFIG_DEV_NODE}${CONFIG_DEV_PART}
    25. elif [ "x${BOOT_CONF}" = "xTS-NASARM" ]; then
    26. if [ -f /etc/IS_TAS ]; then
    27. DEV_NAS_CONFIG=${BOOT_DEV}7
    28. else
    29. DEV_NAS_CONFIG=${BOOT_DEV}5
    30. fi
    31. else
    32. DEV_NAS_CONFIG=${BOOT_DEV}6
    33. fi
    34. if [ "x$CONFIG_DEV_NODE" != "x" ]; then
    35. if [ "x$CONFIG_DEV_FS" = "xubifs" ]; then
    36. /sbin/ubiattach -m $CONFIG_DEV_PART -d 2
    37. /bin/mount -t ubifs ubi2:config /tmp/config -o ro > /dev/null 2>&1
    38. [ ! -f /etc/IS_TAS ] || /bin/mount -t ext4 /dev/mmcblk0p7 /tmp/config
    39. else
    40. return 0
    41. fi
    42. else
    43. /bin/mount $DEV_NAS_CONFIG -t ext2 $MOUNTPOINT
    44. fi
    45. # wenn mount erfolgreich - autorun (MTD) und autorun.sh im localen Filesystem anlegen
    46. if [ "$?" = "0" ]; then
    47. if [[ -x /tmp/config/autorun.sh && $REWRITE = "NO" ]] ; then
    48. #echo "SUCCESS! autorun.sh vorhanden"
    49. echo -e "\033[32m "autorun.sh"(MTD)ist schon vorhanden \033[0m" - keine neue "autorun.sh" angelegt!
    50. umount $MOUNTPOINT
    51. #exit
    52. else
    53. if [[ -e /tmp/config/autorun.sh && $BACKUP = "YES" ]] ; then cp /tmp/config/autorun.sh /tmp/config/autorun.bak ; fi
    54. echo -e "\033[32m Neue "autorun.sh"(MTD) wird angelegt! \033[0m"
    55. cat > /tmp/config/autorun.sh << "EOF"
    56. #!/bin/sh
    57. # AUTORUN.SH - "Boot strap"
    58. echo `date` Start autorun MTD > /var/log/autorun.log
    59. for Auto_Dir in `ls -d /share/* | grep "_DATA" | sort`
    60. do
    61. if [ -x ${Auto_Dir%/}/.qpkg/autorun/autorun.sh ]; then
    62. echo `date` ausführbare "autorun.sh" im Verzeichnis $Auto_Dir/.qpkg/autorun gefunden >> /var/log/autorun.log
    63. ${Auto_Dir%/}/.qpkg/autorun/autorun.sh start
    64. exit
    65. fi
    66. done
    67. echo `date` keine ausführbare "autorun.sh" gefunden
    68. EOF
    69. chmod 755 /tmp/config/autorun.sh
    70. umount $MOUNTPOINT
    71. #ausführen der Autorun in der Konfiguration aktivieren
    72. /sbin/setcfg Misc "Autorun" "TRUE"
    73. fi
    74. else
    75. echo -e "\033[31m ERROR \033[0m " Fehler beim Ausführen von /bin/mount $DEV_NAS_CONFIG -t ext2 $MOUNTPOINT
    76. exit
    77. fi
    78. #locale autorun anlegen
    79. for ROOT_SHARE in `ls -d /share/* | grep "_DATA" | sort`
    80. do
    81. if [ -d ${ROOT_SHARE%/}/.qpkg ]; then Auto_Dir=${ROOT_SHARE%/}/.qpkg/autorun ; fi
    82. done
    83. if [[ -e ${Auto_Dir%/}/autorun.sh && $REWRITE = "NO" ]]; then
    84. echo -e "\033[32m ${Auto_Dir%/}/autorun.sh (local) \033[0m" ist schon vorhanden Script wird beendet!
    85. exit
    86. else
    87. echo -e "\033[32m Neue "autorun.sh" (local) wird angelegt! \033[0m"
    88. if [[ -e ${Auto_Dir%/}/autorun.sh && $BACKUP = "YES" ]] ; then cp ${Auto_Dir%/}/autorun.sh ${Auto_Dir%/}/autorun.bak ; fi
    89. if [ ! -d ${Auto_Dir%/} ]; then mkdir ${Auto_Dir%/} ;fi
    90. cat > ${Auto_Dir%/}/autorun.sh << "EOF"
    91. #!/bin/sh
    92. #autorun.sh
    93. start()
    94. {
    95. echo `date` Start APP "AutoRun" autorun.sh >> /var/log/autorun.log
    96. # Autorun ausführen bei shutdown/restart/poweroff
    97. EOF
    98. echo ln -s ${Auto_Dir%/}"/autorun.sh /etc/rcK.d/K01autorun >null 2>&1">> ${Auto_Dir%/}/autorun.sh
    99. cat >> ${Auto_Dir%/}/autorun.sh << "EOF"
    100. #======================================================================
    101. # ab hier alles eintragen was noch beim "start" ausgeführt werden soll
    102. #Beispiel: libxml2 neue Version für owncloud bzw. nextcloud
    103. file="/usr/lib/libxml2.so.2.6.30"
    104. if [[ -e $file && ! -e /usr/lib/org.libxml2.so.2.6.30.org ]]; then
    105. mv $file /usr/lib/org.libxml2.so.2.6.30.org
    106. cp /usr/local/medialibrary/lib/libxml2.so.2.9.2 $file
    107. else
    108. cp /usr/local/medialibrary/lib/libxml2.so.2.9.2 $file
    109. fi
    110. /mnt/ext/opt/apache/bin/apachectl restart
    111. #Ende Beispiel
    112. # Ende - was beim "start" ausgeführt werden soll
    113. #================================================
    114. }
    115. stop()
    116. {
    117. echo `date` Stop autorun.sh >> /var/log/autorun.log
    118. #====================================================================
    119. # ab hier alles eintragen was noch beim "stop" ausgeführt werden soll
    120. # Ende - was beim "stop" ausgeführt werden soll
    121. #================================================
    122. }
    123. # you do not need to edit this lines
    124. case "$1" in
    125. start)
    126. start
    127. ;;
    128. stop)
    129. stop
    130. ;;
    131. restart)
    132. # Restarting the Daemon
    133. $0 stop
    134. $0 start
    135. ;;
    136. *)
    137. ## If no parameters are given, print which are avaiable.
    138. echo "Usage: $0 {start|stop|restart}"
    139. exit 1
    140. ;;
    141. esac
    142. exit
    143. EOF
    144. chmod 755 ${Auto_Dir%/}/autorun.sh
    145. echo ===========================================================================
    146. echo Deine locale "autorun.sh" befindet sich in ${Auto_Dir%/}
    147. echo ===========================================================================
    148. fi
    149. echo "Fertg! - Ende!"
    Alles anzeigen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von kasimodo ()

  • Hier noch die neuere Version vom Script - mit der Option "OnlyMount" - diese zb bei der Fehlersuche auf "YES" setzen und der Flash wird nach /tmp/config gemountet.
    Da kann man dann die autorun.sh im Flash manuel anlegen bzw. bearbeiten.

    Im "automatik Modus" ("OnlyMount" gesetzt auf NO) wird auf dem QNAP NAS ohne Benutzereingabe "Autorun" eingerichtet. Dies Script sollte zum jetzigen Zeitpunkt auf allen Hardwaretypen von QNAP funktionieren.

    Diese autorun.sh im Flash startet dann die autorun.sh im Filesystem in der später alle Anpassungen die ihr vornehmen wollt stehen. Dadurch braucht ihr nur einmalig den Flash mounten könnt aber immer wieder bootfeste Anpassungen für euer System in der autorun.sh im Filesystem vornehmen.

    Shell-Script: create_autorun.sh

    1. #!/bin/sh
    2. #Installation - anlegen "autorun.sh" auf einem QNAP NAS für die eigene Anpassungen
    3. #------------------------------------------------------
    4. #Hiernach ändern! Soll eventuell vohandene autorun erneuert werden (YES/NO) - Backup anlegen (YES/NO)
    5. REWRITE="YES" # YES/NO
    6. BACKUP="YES" # YES/NO
    7. OnlyMount="NO" # nur den Flash mounten und autorun.sh manuell anlegen YES/NO
    8. #--------------- ab hier nichts mehr ändern ---------------------------------------
    9. #Ermittlung der Hardware und Festlegen was gemountet werden soll
    10. MOUNTPOINT="/tmp/config"
    11. BOOT_CONF=`/bin/cat /etc/default_config/BOOT.conf 2>/dev/null`
    12. CONFIG_DEV_NODE=`/sbin/getcfg "CONFIG STORAGE" DEVICE_NODE -f /etc/platform.conf`
    13. CONFIG_DEV_PART=`/sbin/getcfg "CONFIG STORAGE" FS_ACTIVE_PARTITION -f /etc/platform.conf`
    14. CONFIG_DEV_FS=`/sbin/getcfg "CONFIG STORAGE" FS_TYPE -f /etc/platform.conf`
    15. # check if the HAL subsystem exist
    16. modelname="$(/sbin/getcfg "System" "MODEL" -f /etc/config/uLinux.conf)"
    17. if [ -x /sbin/hal_app ]; then
    18. BOOT_DEV=$(/sbin/hal_app --get_boot_pd port_id=0)
    19. elif [ "x${BOOT_CONF}" = "xTS-NASARM" ]; then
    20. BOOT_DEV="/dev/mtdblock"
    21. else
    22. BOOT_DEV="/dev/sdx"
    23. fi
    24. if [ "x$CONFIG_DEV_NODE" != "x" ]; then
    25. DEV_NAS_CONFIG=${CONFIG_DEV_NODE}${CONFIG_DEV_PART}
    26. elif [ "x${BOOT_CONF}" = "xTS-NASARM" ]; then
    27. if [ -f /etc/IS_TAS ]; then
    28. DEV_NAS_CONFIG=${BOOT_DEV}7
    29. else
    30. DEV_NAS_CONFIG=${BOOT_DEV}5
    31. fi
    32. else
    33. DEV_NAS_CONFIG=${BOOT_DEV}6
    34. fi
    35. if [ "x$CONFIG_DEV_NODE" != "x" ]; then
    36. if [ "x$CONFIG_DEV_FS" = "xubifs" ]; then
    37. /sbin/ubiattach -m $CONFIG_DEV_PART -d 2
    38. /bin/mount -t ubifs ubi2:config /tmp/config > /dev/null 2>&1
    39. [ ! -f /etc/IS_TAS ] || /bin/mount -t ext4 /dev/mmcblk0p7 $MOUNTPOINT
    40. else
    41. return 0
    42. fi
    43. else
    44. /bin/mount $DEV_NAS_CONFIG -t ext2 $MOUNTPOINT
    45. fi
    46. # wenn mount erfolgreich - autorun (MTD) und autorun.sh im localen Filesystem anlegen
    47. if [ "$?" = "0" ]; then
    48. echo -e "\033[32m Flash wurde nach $MOUNTPOINT gemountet! \033[0m"
    49. if [ "$OnlyMount" = "YES" ]; then
    50. echo Nicht vergessen: umount $MOUNTPOINT
    51. if [ "x$CONFIG_DEV_FS" = "xubifs" ]; then echo Nicht vergessen: ubidetach -m 6 ; fi
    52. exit
    53. fi
    54. if [[ -x /tmp/config/autorun.sh && $REWRITE = "NO" ]] ; then
    55. #echo "SUCCESS! autorun.sh vorhanden"
    56. echo -e "\033[32m "autorun.sh"(MTD)ist schon vorhanden \033[0m" - keine neue "autorun.sh" angelegt!
    57. umount $MOUNTPOINT
    58. if [ "x$CONFIG_DEV_FS" = "xubifs" ]; then ubidetach -m 6 ; fi
    59. #exit
    60. else
    61. if [[ -e /tmp/config/autorun.sh && $BACKUP = "YES" ]] ; then mv /tmp/config/autorun.sh /tmp/config/autorun.bak ; fi
    62. echo -e "\033[32m Neue "autorun.sh"(MTD) wird angelegt! \033[0m"
    63. for ROOT_SHARE in `ls -d /share/* | grep "_DATA" | sort`
    64. do
    65. if [ -d ${ROOT_SHARE%/}/.qpkg ]; then Auto_Dir=${ROOT_SHARE%/}/.qpkg/autorun ; fi
    66. done
    67. ###ln -s ${Auto_Dir%/}/autorun.sh $MOUNTPOINT/autorun.sh
    68. cat > /tmp/config/autorun.sh << "EOF"
    69. #!/bin/sh
    70. # AUTORUN.SH - "Boot strap"
    71. echo `date` Start autorun MTD > /var/log/autorun.log
    72. for Auto_Dir in `ls -d /share/* | grep "_DATA" | sort`
    73. do
    74. if [ -x ${Auto_Dir%/}/.qpkg/autorun/autorun.sh ]; then
    75. echo `date` ausführbare "autorun.sh" im Verzeichnis $Auto_Dir/.qpkg/autorun gefunden >> /var/log/autorun.log
    76. ${Auto_Dir%/}/.qpkg/autorun/autorun.sh start
    77. exit
    78. fi
    79. done
    80. echo `date` keine ausführbare "autorun.sh" gefunden >> /var/log/autorun.log
    81. EOF
    82. chmod 755 /tmp/config/autorun.sh
    83. umount $MOUNTPOINT
    84. if [ "x$CONFIG_DEV_FS" = "xubifs" ]; then ubidetach -m 6 ; fi
    85. #ausführen der Autorun in der Konfiguration aktivieren
    86. /sbin/setcfg Misc "Autorun" "TRUE"
    87. fi
    88. else
    89. echo -e "\033[31m ERROR \033[0m " Flash wurde nicht gemountet!
    90. exit
    91. fi
    92. #locale autorun anlegen
    93. if [[ -e ${Auto_Dir%/}/autorun.sh && $REWRITE = "NO" ]]; then
    94. echo -e "\033[32m ${Auto_Dir%/}/autorun.sh (local) \033[0m" ist schon vorhanden Script wird beendet!
    95. exit
    96. else
    97. echo -e "\033[32m Neue "autorun.sh" (local) wird angelegt! \033[0m"
    98. if [[ -e ${Auto_Dir%/}/autorun.sh && $BACKUP = "YES" ]] ; then cp ${Auto_Dir%/}/autorun.sh ${Auto_Dir%/}/autorun.bak ; fi
    99. if [ ! -d ${Auto_Dir%/} ]; then mkdir ${Auto_Dir%/} ;fi
    100. cat > ${Auto_Dir%/}/autorun.sh << "EOF"
    101. #!/bin/sh
    102. #autorun.sh
    103. start()
    104. {
    105. echo `date` Start APP "AutoRun" autorun.sh >> /var/log/autorun.log
    106. # Autorun ausführen bei shutdown/restart/poweroff
    107. EOF
    108. echo ln -s ${Auto_Dir%/}"/autorun.sh /etc/rcK.d/K01autorun >null 2>&1">> ${Auto_Dir%/}/autorun.sh
    109. cat >> ${Auto_Dir%/}/autorun.sh << "EOF"
    110. #======================================================================
    111. # ab hier alles eintragen was noch beim "start" ausgeführt werden soll
    112. #Beispiel: libxml2 neue Version für owncloud bzw. nextcloud
    113. file="/usr/lib/libxml2.so.2.6.30"
    114. if [[ -e $file && ! -e /usr/lib/org.libxml2.so.2.6.30.org ]]; then
    115. mv $file /usr/lib/org.libxml2.so.2.6.30.org
    116. cp /usr/local/medialibrary/lib/libxml2.so.2.9.2 $file
    117. else
    118. cp /usr/local/medialibrary/lib/libxml2.so.2.9.2 $file
    119. fi
    120. /mnt/ext/opt/apache/bin/apachectl restart
    121. #Ende Beispiel
    122. # Ende - was beim "start" ausgeführt werden soll
    123. #================================================
    124. }
    125. stop()
    126. {
    127. echo `date` Stop autorun.sh >> /var/log/autorun.log
    128. #====================================================================
    129. # ab hier alles eintragen was noch beim "stop" ausgeführt werden soll
    130. # Ende - was beim "stop" ausgeführt werden soll
    131. #================================================
    132. }
    133. # you do not need to edit this lines
    134. case "$1" in
    135. start)
    136. start
    137. ;;
    138. stop)
    139. stop
    140. ;;
    141. restart)
    142. # Restarting the Daemon
    143. $0 stop
    144. $0 start
    145. ;;
    146. *)
    147. ## If no parameters are given, print which are avaiable.
    148. echo "Usage: $0 {start|stop|restart}"
    149. exit 1
    150. ;;
    151. esac
    152. exit
    153. EOF
    154. chmod 755 ${Auto_Dir%/}/autorun.sh
    155. echo ===========================================================================
    156. echo Deine locale "autorun.sh" befindet sich in ${Auto_Dir%/}
    157. echo ===========================================================================
    158. fi
    159. echo "Fertg! - Ende!"
    Alles anzeigen

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von kasimodo ()

  • Ich hatte letzte Woche aber von Anderen eine positive Rückmeldung!
    Schalte mal die Option "MountOnly auf "YES"
    Dann sollte unter "/tmp/Config" der Flash gemountet sein.
    Poste die Ausgabe vom Script nach dem Aktivieren von MountOnly und dann mal die Ausgabe auf der Konsole von ls /tmp/config
  • Hallo Gernot,

    wie wäre es, für die Weiterentwicklung der Scripte (hier das create_autorun.sh) eine Versionsnummer mit einzupflegen und diese als Kommentar auch in die autorun.sh zu setzen. Vorteil: Wenn man mal über Probleme sprechen muss, hat in der Diskussion "das Kind" auch einen Namen und man kann schnell abklären, ob jemand mit einem veralteten Script gearbeitet hat.

    Gruß Dirk
  • Ausgabe vom Mount Only Skript:

    Quellcode

    1. [admin@NASSIE CE_CACHEDEV1_DATA]# ./auto_rn.sh
    2. UBI device number 2, total 120 LEBs (15237120 bytes, 14.5 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB)
    3. Flash wurde nach /tmp/config gemountet!
    4. Nicht vergessen: umount /tmp/config
    5. Nicht vergessen: ubidetach -m 6
    6. [admin@NASSIE CE_CACHEDEV1_DATA]#
    Ausgabe vom ls:

    Quellcode

    1. [admin@NASSIE CE_CACHEDEV1_DATA]# ls /tmp/config
    2. smb.conf smb.conf.cksum system.map.key uLinux.conf
  • @Der Jay

    Alles TOP, der Ramblock wurde fehlerfrei gemountet!

    wenn noch nicht getan folgendes eingeben:
    umount /tmp/config
    ubidetach -m 6

    dann MountOnly wieder auf "NO" und Script nochmal ausführen!
    Du kannst danach wenn du möchstest das Script mit der Option MountOnly "YES" nochmal laufen lassen und mit ls /tmp/config nachschauen ob eine autorun.sh im Ramblock ist.

    Je nach NAS Typ und Konfiguration kann der Verzeichnisspfad der localen autorun.sh (die im normalen Filesystem) verschieden sein.
    Wenn du unsicher bist wo die zweite, die locale autorun.sh liegt führe das folgende Hilfescript aus:

    Shell-Script: search_autorun.sh

    1. #!/bin/sh
    2. # Suche locale autorun.sh
    3. for Auto_Dir in `ls -d /share/* | grep "_DATA" | sort`
    4. do
    5. if [ -x ${Auto_Dir%/}/.qpkg/autorun/autorun.sh ]; then
    6. echo ausführbare "autorun.sh" im Verzeichnis $Auto_Dir/.qpkg/autorun gefunden
    7. exit
    8. fi
    9. done
    10. echo keine ausführbare "autorun.sh" gefunden

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von kasimodo ()