applewolf 发表于 2009-3-7 15:31:37

求助一个小小的BASH脚本

我用的是Slax 6.0.9 版的
在加载模块时,遇到一点问题.

我加载了一个杀毒软件,但是发现,Slax 每次启动时,都会自动把光盘自身给加载到 mnt 目录中.而这个目录随着机子的不同会发生变化.
而更麻烦的是,如果加载了这个目录,杀毒软件会自动先查杀这个目录,且不说这样浪费时间,更重要的时,杀这个盘时,会解包非常大的启动文件,结果常常会内存不足退出.

所以,我想求助于各位高手们,有没有办法,写个 bash 脚本,自动判断这个Slax 光盘加载到什么位置了,然后在启动杀毒时,先自动卸载掉它,杀完毒后,再自动重新加载回原来的位置.

谢谢各位高手!

诚意求教!

applewolf 发表于 2009-3-7 18:53:34

回复 1# applewolf 的帖子

另外说明一下.

我试了一下,在启动杀毒前,手动卸载这个Slax CD 加载点,杀毒软件工作得非常完美.

我本来的思路是,通过系统的启动配置文件 fstab 来寻找 Slax CD的自动加载点,然后取得其在 /dev 中的设备名,进行自动卸载,但是.....麻烦啊.我对BASH 脚本并不熟.如果是MS 批处理,我就知道怎么做了,但这是Linux 的Bash 啊.不知道如何通过脚本自动寻找这个加载点.还请各位高手指点指点.

非常感谢!

applewolf 发表于 2009-3-8 06:25:49

唉.............还是国外论坛的朋友们热心啊.

我在官网论坛发了同样的贴子,用我那半生不熟的E文写的.

结果,人家一会儿就回一贴.跟聊天似的.

终于还是一位叫markds的朋友给了一个非常棒的思路.

现在贴出来,与大家一起分享一下最终脚本吧.
#!/bin/sh
# Get Slax 6.0.9 CD's device ID and the CD mounted point.
cddevid=$(cat /etc/fstab | grep iso9660 | cut -d' ' -f1)
cdmntid=$(cat /etc/fstab | grep iso9660 | cut -d' ' -f2)

# remount the CD
# mount -t iso9660 $cddevid $cdmntid

# umount the CD
# umount $cddevid
页: [1]
查看完整版本: 求助一个小小的BASH脚本