[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