BASH / shell脚本无法正确挂载UTF-8(我想!)

时间:2011-11-23 18:49:25

标签: bash shell utf-8 mount fat32

我在Linux中有一个BASH shell脚本,用于挂载驱动器..我一直以“root”身份运行,甚至没有安装sudo或su,以防万一...

我的问题是UTF-8文件名和目录,尤其是在vfat分区上......

如何使用正确的UTF-8文件名选项安装每种分区类型?

    TYPE="$(guess_fstype /dev/"${1}" 2>/dev/null)"
    # create mount point if it does not exist
    [ ! -e /mnt/$1 ] && mkdir -p /mnt/$1
   case $TYPE in 
        vfat) /bin/mount -t vfat /dev/$1 /mnt/$1 -o shortname=mixed,quiet,utf8 
            success=$? ;; 
        iso9660) mount -t iso9660 /dev/$1 /mnt/$1 -o utf8
            success=$? ;; 
        ntfs) mount -t ntfs /dev/$1 /mnt/$1
            success=$? ;; 
        unknown) mount /dev/$1 /mnt/$1 -o utf8 
            success=$? ;; 
        *) mount -t $TYPE /dev/$1 /mnt/$1
            success=$? ;; 
   esac

1 个答案:

答案 0 :(得分:1)

究竟什么不起作用?它是挂载还是稍后列出文件?检查你的语言环境,也许吧?我认为所有文件系统或多或少都接受utf8选项,即使它们具有设置字符集的特定选项。检查man mount