2005-09-01
Linux Shell 学习1:挂载编码可变的挂载Windows分区的脚本 MountWindowsDriver.sh
我的电脑有2个硬盘,主硬盘安装了Windows,次硬盘安装了 Redhat Linux 9.0 和 Fedora Core 4。 在 Linux 中我想挂载 Windows 的分区,我不想在 /etc/fstab 里配置,我只想在想挂载的时候挂载,所以采用了脚本的方法来实现。
还一个问题是:Linux 中我采用 utf-8 作为系统的默认编码,而 zhcon (一个类似 UCDOS 的中文平台) 则只支持国标系列 (GB2312, GBK) 以及 BIG5、JIS、KSCM等编码,所以在挂载分区时,挂载编码 (iocharset/nls) 必须可调,所以脚本里需要做一点处理,脚本如下所示:
#!/bin/bash
#default iocharset(nls),设定默认编码为 utf8
charset=utf8
echo "The default charset(nls) is $charset"
if [ $1 ]; then
#如果参数1不为空,则认为是手工指定了新的编码,将新的编码存储…
charset=$1
echo "charset is set to $charset"
fi
#begin mount with $charset... 挂载…
mount /dev/hda1 /mnt/c -r -o nls=$charset
mount /dev/hda5 /mnt/d -r -o nls=$charset
小结: 此次编写 sh 脚本学习了:
- 如何对变量赋值。在例子中:
charset=utf8 - 如何用 if 语句
- 如何获得参数。在例子中:
charset=$1 - 如何判断字符串不为空。在例子中:
[ $1 ]