[debian-users 00103] Re: stretchで日本語入力できない

Kenji Matsui kmatsui @ earth.kiramori.net
2017年 7月 23日 (日) 17:09:45 JST


松井です。

親プロセスと子プロセス、
内部コマンド(組み込み関数)と外部コマンドについて、
調べてみてある程度理解できました。
cd なんかも source と同じ結果になりますね。

$ type cd
cd はシェル組み込み関数です
$ sudo cd
sudo: cd: コマンドが見つかりません

なぜ sudo では内部コマンドが実行できないのかなと疑問に感じたのですが
ルート権限でしか実行できないコマンドのみ sudo で実行しなさい、
というようなことでしょうか。
何にせよ、おかげさまで勉強になりました。

---
Kenji Matsui



Quoting Kazuhiro NISHIYAMA <zn @ mbf.nifty.com>:

> 西山和広です。
>
> On Wed, 19 Jul 2017 18:17:38 +0900,
> Kenji Matsui wrote:
>
>> ルートユーザーとしてデスクップにログインしますと
> (略)
>
> root で入ると正常に見えるということは既存のユーザーの $HOME 以下に
> 何か英語環境にする設定が入ってしまっている気がするので、新規ユーザーを
> 作って試してみるとどうなるのかが気になりました。
>
>> $ sudo bash /etc/default/locale
>
> これは root 権限の bash で /etc/default/locale を実行して
> 終了しているだけで、他のプロセス (親プロセスとか) には
> 何も影響しないので、意味がないのではないでしょうか。
>
> 環境変数というのは親プロセスから子プロセスに継承されるだけで
> 子プロセスでの環境変数の変更は親プロセスには影響しないので、
> 後で locale コマンドを実行しても何も変わらないのは、
> 何もおかしいところはないと思います。
>
>> (ちなみに、一般ユーザーではbashだとうまくいきますがsourceだと
>> $ sudo source /etc/default/locale
>> sudo: source: コマンドが見つかりません
>> となってしまいます。何なんでしょう、これ?)
>
> source という外部コマンドは存在しないからではないでしょうか。
>
> 現在のシェルに変数設定を反映したいのなら、普通にドットコマンドなどを
>
> $ . /etc/default/locale
>
>>
> $ source /etc/default/locale
>
> のように使えば良いと思います。
>
>
> --
> |ZnZ(ゼット エヌ ゼット)
> |西山和広(Kazuhiro NISHIYAMA)
> _______________________________________________
> debian-users mailing list
> debian-users @ debian.or.jp
> http://lists.debian.or.jp/mailman/listinfo/debian-users





debian-users メーリングリストの案内