[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00940] Re: [FDclone-users:00938] Re: 内部コマンドとシェル変数
- Subject: [FDclone-users:00940] Re: [FDclone-users:00938] Re: 内部コマンドとシェル変数
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Sun, 02 Oct 2011 19:44:01 +0900
しらいです。
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 とかの出力を訳して貰っても誰も喜ばな
いように思うんですけどね。
しらい たかし