QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1359|回复: 12

我想做一个自动加载的文件

[复制链接]
发表于 2005-7-25 22:29:37 | 显示全部楼层 |阅读模式
代码如下:
#! /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行的)有错误,请指教错在哪儿?
对回复的大侠先表示衷心感谢.
发表于 2005-7-25 22:46:25 | 显示全部楼层
什么错误?
你这个好象有点问题:
1. /dev/hda5 你的写法有错
2. /dev/hda5 好象应该是个主分区,它有扩展分区的
是不是这里错了?你先用fdisk -l看看硬盘信息。最好把错误信息贴上来。
回复

使用道具 举报

 楼主| 发表于 2005-7-25 23:55:07 | 显示全部楼层
指定的硬盘是对的,如果单独运行这一句就没有问题,可以加载,但是我想让他可以做成一个命令运行的时候错误说是第7行,也就是u)这里.
回复

使用道具 举报

 楼主| 发表于 2005-7-25 23:58:10 | 显示全部楼层
喔,你说的那个DEV前面吧,是我帖在这里的时候忘记写了,原来是有写的.
回复

使用道具 举报

 楼主| 发表于 2005-7-26 00:08:15 | 显示全部楼层
错误提示如下:
/root/mymount: line7: syntax error near unexpected token'7'
/root/mymount: line7: 'u)'
回复

使用道具 举报

 楼主| 发表于 2005-7-26 14:02:43 | 显示全部楼层
各位大侠都帮忙看看啊.
回复

使用道具 举报

发表于 2005-7-26 14:44:12 | 显示全部楼层
[code:1]
#!/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}'  |if  read  vg 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 read  aa 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


[/code:1]



這是我的,沒有完成
回复

使用道具 举报

 楼主| 发表于 2005-7-26 23:21:43 | 显示全部楼层
能把注释写出来吗?
回复

使用道具 举报

发表于 2005-7-27 08:27:40 | 显示全部楼层
umount的时候只写 umount /dev/hda5试试
回复

使用道具 举报

 楼主| 发表于 2005-7-27 12:45:43 | 显示全部楼层
#! /bin/bash
case $1 in
m)
mount -t vfat /dev/hda5 /mnt/windows1
mount -t vfat /dev/hda9 /mnt/windows2
:
esac
我只取了这一段就通过了,还是后面出了问题,胆识改成大侠说的方式,还是不行.
回复

使用道具 举报

发表于 2005-7-30 20:56:40 | 显示全部楼层
改成 umount /mnt/windows1 呢?
回复

使用道具 举报

发表于 2005-7-31 15:49:20 | 显示全部楼层
语法错误,只要看语法就行了,和umount命令没关系,
你写的是:: ,还是;;,仔细看一看.
回复

使用道具 举报

发表于 2005-7-31 17:00:46 | 显示全部楼层
不错!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-18 08:04 , Processed in 0.038955 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表