なにはともあれSLAX (849レス)
なにはともあれSLAX http://mao.5ch.net/test/read.cgi/linux/1156462444/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
189: login:Penguin [sage] 2006/10/19(木) 08:54:38 ID:NByMOkR/ >>182 > if [ "$(`cmdline_value lang`)" != "" ]; then こんなときはよく if [ x$(cmdline_value lang) != x ]; then なんてします。 ""がxの1文字で済むので両辺で2文字倹約ですう。 xのかわりに_を使うときもあります。 http://mao.5ch.net/test/read.cgi/linux/1156462444/189
190: login:Penguin [sage] 2006/10/19(木) 09:08:20 ID:NByMOkR/ >>187 /etc/profile.d/lang.shはslax-ja-$(ver)-$(rev).moの中にありますね。これも良策ですが、カーネルオプションで明示的にlang=jaとやるほうが今後sysconfigのメニューで多国語選択可能になった場合、管理しやすいように思います。 http://mao.5ch.net/test/read.cgi/linux/1156462444/190
191: login:Penguin [sage] 2006/10/19(木) 09:16:01 ID:NByMOkR/ sysconfigじゃなくてsyslinux.cfgまたはisolinux.cfgでした。 http://mao.5ch.net/test/read.cgi/linux/1156462444/191
192: login:Penguin [sage] 2006/10/19(木) 11:03:20 ID:NByMOkR/ 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は言語に従って指定した方がいいんじゃないかな。 http://mao.5ch.net/test/read.cgi/linux/1156462444/192
193: login:Penguin [sage] 2006/10/19(木) 11:04:42 ID:NByMOkR/ (つづき) ということは、 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 これでどうだろう。 http://mao.5ch.net/test/read.cgi/linux/1156462444/193
194: login:Penguin [sage] 2006/10/19(木) 11:08:13 ID:NByMOkR/ (つづきのつづき) if [ "$IOCHARSET" != "" ]; then OPT=",iocharset=$IOCHARSET" else OPT=",iocharset=utf8" fi は1行で OPT=",iocharset=${IOCHARSET:-utf8}" って書くこともできます(bash>2.x)。 http://mao.5ch.net/test/read.cgi/linux/1156462444/194
195: login:Penguin [sage] 2006/10/19(木) 11:30:14 ID:NByMOkR/ ということで決定版です。全部で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 http://mao.5ch.net/test/read.cgi/linux/1156462444/195
197: login:Penguin [sage] 2006/10/19(木) 12:55:04 ID:NByMOkR/ >>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 && .. なんて書きたい所だけど、これは他の部分の文体に合わせたほうがいい。 http://mao.5ch.net/test/read.cgi/linux/1156462444/197
198: login:Penguin [sage] 2006/10/19(木) 13:03:34 ID:NByMOkR/ >>197 どうでもいいことかも知れないが、この関数の内容からすれば get_codepageではなくて show_codepageだな。 http://mao.5ch.net/test/read.cgi/linux/1156462444/198
200: login:Penguin [sage] 2006/10/19(木) 14:29:30 ID:NByMOkR/ ついでに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行で済みますね。 http://mao.5ch.net/test/read.cgi/linux/1156462444/200
201: login:Penguin [sage] 2006/10/19(木) 14:41:32 ID:NByMOkR/ (slax-ja-5.1.8-2.iso)/tools/liblinuxliveの453-488行をいっそのこと case $FS in '' ) ;; # skip when $FS is null ntfs ) OPT=",ro,nls=${IOCHARSET:-utf8}" ;; vfat ) OPT=",iocharset=${IOCHARSET:-utf8}$(get_codepage 2> /dev/null)" ;; swap ) fstab_update_line $FSTAB~ $DEVICE swap swap defaults ;; * ) fstab_update_line $FSTAB~ $DEVICE $MOUNTDIR $FS auto,users,suid,dev,exec$OPT; mkdir -p "$1/$MOUNTDIR" ;; esac とすれば35行分が8行で済みます。 これでいいのかどうかはわかりませんが、コード上は等価変換だと思います。 http://mao.5ch.net/test/read.cgi/linux/1156462444/201
202: login:Penguin [sage] 2006/10/19(木) 14:45:48 ID:NByMOkR/ あ、skip する '') はシングルクオートが二つです。ここは "")でもいいです。 それと8行とは言っても、get_codepage関数(または show_codepage関数)が必要だから全部で16行ですね。 http://mao.5ch.net/test/read.cgi/linux/1156462444/202
205: login:Penguin [sage] 2006/10/19(木) 15:19:32 ID:NByMOkR/ >>201 すみません。あせってまちがえました。正しい流れはこうです。 case $FS in '' ) ;; # skip when $FS is null swap ) fstab_update_line $FSTAB~ $DEVICE swap swap defaults ;; * ) case $FS in ntfs ) OPT=",ro,nls=${IOCHARSET:-utf8}" ;; vfat ) OPT=",iocharset=${IOCHARSET:-utf8}$(get_codepage 2> /dev/null)" ;; esac fstab_update_line $FSTAB~ $DEVICE $MOUNTDIR $FS auto,users,suid,dev,exec$OPT; mkdir -p "$1/$MOUNTDIR" ;; esac http://mao.5ch.net/test/read.cgi/linux/1156462444/205
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.024s