[linux] scripting newbie

Tomas Zatko woody_tz na zoznam.sk
Čtvrtek Červen 17 03:06:47 CEST 2004


Zdravim konferu!

Prave som spachal moj prvy skriptik a rad by som od skusenejsich pocul 
komentare v style:
- _toto_ preco robis _takto_ a nie _takto_? _takto_ to je jednoduchsie
- _toto_ je uplna blbost, funguje to aj bez _toho_
- mal by si tam dat este _toto_, pretoze v tomto pripade by tvoje 
riesenie vyhadzovalo chyby
- atd...

No, ono vlastne k takej malej kravinke mozno nebude az tolko co povedat 
(a mozno...=) ale zaujimalo by ma tiez, ci neviete o nejakom peknom 
dokumente o skriptovani, kde by sa spominali aj podobne veci (preco tak 
a nie onak) || niekto z vas nieco podobne nenapisal || niekto z vas 
nema niekde na webe nejake svoje skripty || navody , z ktorych by som 
sa mohol cosi priucit...

Tento moj konkretny skriptik je na mountovanie captive-ntfs.
Predpokladam ze v /etc/fstab je zapisana _jedna_ ntfs particia ktora sa 
mountuje "normalne" readonly
("normalne" != "captive-ntfs" :-)
Preto tam tie veci - umount ntfs_ro; mount ntfs_rw (a opacne)

Prosim nevravte mi, aby som si to dal do /etc/fstab pretoze:
1. Prvy pokus mi akosi nevysiel (nejake errory) a vobec som neriesl 
preco (vid bod 2 =), aj ked by to nebol prob. behom minut
2. Som prevelice rad, ze si mozem urobit nejaky skriptik ktory nieco 
prakticke robi... A PRETO to vlastne robim takto.

takze:

#!/bin/sh
# /etc/init.d/captive: mount or umount the captive-ntfs
# Written by WooDy

export MOUNT_DEV=`grep ntfs /etc/fstab| awk '{ print $1 }'`
export MOUNT_POINT=`grep ntfs /etc/fstab| awk '{ print $2 }'`
                
case "$1" in
  start)
        export NTFS_MOUNTED=`mount|grep ntfs|grep -v captive-ntfs`
        export CAPTIVE_NTFS_MOUNTED=`mount|grep captive-ntfs`

        if [ -n "$CAPTIVE_NTFS_MOUNTED" ]; then
          echo "NTFS partition is already mounted by captive-ntfs."
        else
          if [ -n "$NTFS_MOUNTED" ]; then
            echo "Unmounting ntfs."
            umount $MOUNT_DEV
          fi

          echo "Mounting captive-ntfs."
          mount -t captive-ntfs $MOUNT_DEV $MOUNT_POINT
        fi
        ;;

  stop)
       echo "Unmounting captive-ntfs."
       umount $MOUNT_DEV
       echo "Mounting ntfs."
       mount $MOUNT_DEV $MOUNT_POINT
       ;;

  *)
       echo "Usage: /etc/init.d/captive {start|stop}"
       exit 1
       ;;
esac

exit 0


za odopoved vopred dakujem
.t..





Další informace o konferenci linux