なにはともあれSLAX
1 :よーだ :2006/08/25(金) 08:34:04 ID:hyAu/OJ9.net ディストリの壁をこえて SLAX を語ろう。
191 :login:Penguin :2006/10/19(木) 09:16:01 ID:NByMOkR/.net sysconfigじゃなくてsyslinux.cfgまたはisolinux.cfgでした。
192 :login:Penguin :2006/10/19(木) 11:03:20 ID:NByMOkR/.net 166-191をまとめると if [ "$FS" = "vfat" ]; then if [ "$IOCHARSET" != "" ]; then OPT=",iocharset=$IOCHARSET" else case $(cmdline_value lang) in "" ) OPT=",iocharset=utf8" ;; ja* ) OPT=",iocharset=utf8,codepage=932" ;; ko* ) OPT=",iocharset=utf8,codepage=949" ;; cn* ) OPT=",iocharset=utf8,codepage=936" ;; tw* ) OPT=",iocharset=utf8,codepage=950" ;; esac fi fi こんなかんじになるけど、これでいいのかな。iocharsetがutf8でなくてもcodepageは言語に従って指定した方がいいんじゃないかな。
193 :login:Penguin :2006/10/19(木) 11:04:42 ID:NByMOkR/.net (つづき) ということは、 if [ "$FS" = "vfat" ]; then if [ "$IOCHARSET" != "" ]; then OPT=",iocharset=$IOCHARSET" else OPT=",iocharset=utf8" fi case $(cmdline_value lang) in ja* ) OPT="${OPT},codepage=932" ;; ko* ) OPT="${OPT},codepage=949" ;; cn* ) OPT="${OPT},codepage=936" ;; tw* ) OPT="${OPT},codepage=950" ;; esac fi これでどうだろう。
194 :login:Penguin :2006/10/19(木) 11:08:13 ID:NByMOkR/.net (つづきのつづき) if [ "$IOCHARSET" != "" ]; then OPT=",iocharset=$IOCHARSET" else OPT=",iocharset=utf8" fi は1行で OPT=",iocharset=${IOCHARSET:-utf8}" って書くこともできます(bash>2.x)。
195 :login:Penguin :2006/10/19(木) 11:30:14 ID:NByMOkR/.net ということで決定版です。全部で9行 if [ "$FS" = "vfat" ]; then OPT=",iocharset=${IOCHARSET:-utf8}" case $(cmdline_value lang) in ja* ) OPT="${OPT},codepage=932" ;; ko* ) OPT="${OPT},codepage=949" ;; cn* ) OPT="${OPT},codepage=936" ;; tw* ) OPT="${OPT},codepage=950" ;; esac fi
196 :login:Penguin :2006/10/19(木) 11:44:22 ID:K4H0Yqvl.net いい! そんじゃ、関数化するとこんなもん? get_codepage() { case $(`cmdline_value lang`) in ja* ) codepage=932" ;; ko* ) codepage=949" ;; cn* ) codepage=936" ;; tw* ) codepage=950" ;; esac echo $codepage } [ "$FS" = "vfat" ] && OPT=",iocharset=${IOCHARSET:-utf8},codepage=`get_codepage`"
197 :login:Penguin :2006/10/19(木) 12:55:04 ID:NByMOkR/.net >>196 あ、でもlangが指定されなかった場合、つまり$(cmdline_value lang)が空だった場合、OPT=",iocharset=${IOCHARSET:-utf8}" のままでとどめたい。でないと OPT=",iocharset=utf8,codepage=" なんてことになってマウントエラーにならないかな。 それと$(~...~)のバッククオートは不要だと思う。$()が``と同じはたらきをするから。 あえて関数にするなら get_codepage() { case $(cmdline_value lang) in ja* ) echo ",codepage=932" ;; ko* ) echo ",codepage=949" ;; cn* ) echo ",codepage=936" ;; tw* ) echo ",codepage=950" ;; esac } [ "$FS" = "vfat" ] && OPT=",iocharset=${IOCHARSET:-utf8}$(get_codepage 2> /dev/null)" かな、私のクセでは最後の文を test _$FS = _vfat && .. なんて書きたい所だけど、これは他の部分の文体に合わせたほうがいい。
198 :login:Penguin :2006/10/19(木) 13:03:34 ID:NByMOkR/.net >>197 どうでもいいことかも知れないが、この関数の内容からすれば get_codepageではなくて show_codepageだな。
199 :login:Penguin :2006/10/19(木) 13:28:47 ID:K4H0Yqvl.net >>197 good!
200 :login:Penguin :2006/10/19(木) 14:29:30 ID:NByMOkR/.net ついでにslax-ja-5.1.8-2.isoでは /tools/liblinuxliveでは # add special options for NTFS if [ "$FS" = "ntfs" ]; then OPT=",ro" #if [ "$IOCHARSET" != "" ]; then OPT="$OPT,nls=$IOCHARSET"; fi if [ "$IOCHARSET" != "" ]; then OPT="$OPT,nls=$IOCHARSET" else OPT="$OPT;nls=utf8" fi fi になっていますが、同様に書き換えると [ "$FS" = "ntfs" ] && OPT=",ro,nls=${IOCHARSET:-utf8}" ということでここも8行分が1行で済みますね。
241 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者