[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00940] Re: [FDclone-users:00938] Re: 内部コマンドとシェル変数



 しらいです。

In Message-Id <op.v2pmypz3c4zqer@pc05>
        "Hironao Komatsu" <hirkmt@gmail.com>さんwrites:
> man() {
>    LANG=C command man "$@"
> }
> 
> というのがやりたかったんですが、素直にフルパスを使うことにします…

 単に変数定義を元に戻したいというのであれば、解説したとおり
fork() させれば済む話なので、() を使って sub shell を起動す
ることで要件は満たせます。
 この手口はオリジナルの Bourne shell にも有効です。

$ fdsh -c '(a=1 command echo -$a-); echo -$a-'
--
--

 もしくは、この程度の単純な置換えであれば alias で実現する
方が簡単ですね。この手口は alias 機能を持たないオリジナルの
Bourne shell では無効ですが。

alias man='LANG=C man'

 なお、FDclone の alias は自己再帰を許していないので「man」
を「\man」みたいに書換える工夫は不要です。


> # GNU/LinuxのmanはNLS対応がアレすぎ

 Distribution にもよるんじゃないでしょうかね?Vine 辺りは結
構執拗に I18N 化しててうんざりしますが Debian 辺りは必要最低
限に抑えているように思います。
 個人的には df とか ls とかの出力を訳して貰っても誰も喜ばな
いように思うんですけどね。

                                               しらい たかし