我想做一个自动加载的文件
代码如下:#! /bin/bash
case $1 in
m)
mount -t vfat /dev/hda5 /mnt/windows1
mount -t vfat /dev/hda9 /mnt/windows2
::
u)
umount -t vfat /dev/hda5 /mnt/windows1
umount -t vfat /dev/hda9 /mnt/windows2
::
esac
运行的时候,说第7行的)有错误,请指教错在哪儿?
对回复的大侠先表示衷心感谢. 什么错误?
你这个好象有点问题:
1. /dev/hda5 你的写法有错
2. /dev/hda5 好象应该是个主分区,它有扩展分区的
是不是这里错了?你先用fdisk -l看看硬盘信息。最好把错误信息贴上来。 指定的硬盘是对的,如果单独运行这一句就没有问题,可以加载,但是我想让他可以做成一个命令运行的时候错误说是第7行,也就是u)这里. 喔,你说的那个DEV前面吧,是我帖在这里的时候忘记写了,原来是有写的. 错误提示如下:
/root/mymount: line7: syntax error near unexpected token'7'
/root/mymount: line7: 'u)' 各位大侠都帮忙看看啊.
#!/bin/bash
#
#Write : Gan Jian Hui
#Date :2005-08-12
#
# for lvm
mtlvm()
{
lvscan |cut -d "'" -f 2 |
while read ldev ;do
dname=$(readlink $ldev) ;
mtlv$dname ;
done ;
}
mtlv()
{
bname=$(basename $1)
echo "$bname"|awk -F- '{print $1,$2}'|ifreadvg lv; then
mdir=$MNTDIR/$vg/$lv;
if ["$(grep$1/etc/mtab)" = ""] ;then
[ -d $mdir] || mkdir-p $mdir
mount $1$mdir
fi
fi
}
MNTDIR=/mnt
# scan all partations
fdisk -l|grep "[sh]d[a-z][0-9]" |sed -e 's/*/ /' |awk '{print ($1,$5) }'|\
while readaa bb ; do
case "$bb" in
83|b|c|e) # fat ,vfat , linuxfs
mdir=$MNTDIR/${aa#/dev/};
[ -d $mdir ] || mkdir $mdir
mcmd="mount $aa$mdir ";
grep -q $aa /etc/mtab || $mcmd ;;
8e) #LVM
mtlvm ;
;;
*)echo$unknown;;
esac
done
這是我的,沒有完成 能把注释写出来吗? umount的时候只写 umount /dev/hda5试试 #! /bin/bash
case $1 in
m)
mount -t vfat /dev/hda5 /mnt/windows1
mount -t vfat /dev/hda9 /mnt/windows2
:
esac
我只取了这一段就通过了,还是后面出了问题,胆识改成大侠说的方式,还是不行. 改成 umount /mnt/windows1 呢? 语法错误,只要看语法就行了,和umount命令没关系,
你写的是:: ,还是;;,仔细看一看. 不错! :oops:
页:
[1]