• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルについて)

シェルについて

このQ&Aのポイント
  • ターミナルの挙動を教えてください
  • OS10.8でtcshを使い、perlを入力するとエラーメッセージが表示されますが、環境変数の設定でエラーが解消しました。しかし、tcshからbashを起動するとエラーが出なくなります。この挙動は疑問です。
  • tcshから子シェルbashを起動してもperlでエラーが出ないのはなぜでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

No1です。 >lsなどは組み込みコマンドなんで理解できます ls はシェルの組み込みコマンドではありません。/bin/ls か /usr/bin/ls にある外部コマンドです。 立場的には、/bin/bash と同じ。 >bashはexportじゃないのかなと思いました bashが親プロセスから引き継いだ環境変数以外に、新たに環境変数を追加するときに使うコマンドがexportです。

Wap58
質問者

お礼

わかりやすい回答ありがとうございます

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

文章がわかりにくいのですが、 tcshからbashを起動した場合、tcshで設定した環境変数はbashに引き継がれるのか? という意味なら、そうです。bash起動時に設定される物以外は引き継がれます。 もちろんbash以外でもなんでも子プロセスに引き継がれます。perlとか、ls とか。 そもそも環境変数というのはそのためのもの(子プロセスに設定を引き継ぐための物)です。

Wap58
質問者

補足

回答ありがとうございます >tcshからbashを起動した場合、tcshで設定した環境変数はbashに引き継がれるのか? そのとうりです lsなどは組み込みコマンドなんで理解できます bashはexportじゃないのかなと思いました デフォルトの親bashで試してみたらperl入力で警告出ませんでした 環境変数のみ子プロセスに引き継がれるんですね

関連するQ&A