[過去ログ] 【Raspberry Pi】ラズベリー・パイ part63【Arm】 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
338
(1): 914 (ワッチョイ 6fa6-06AR) 2022/02/20(日)11:55 ID:dwn9HV4I0(1) AAS
>>277
ありがとうごいざます
調べてきました
理解しきれていないのですが
「環境が汚れない」とは不用意に新しいシェルを起動スべきではないという注意であってますか?
記述してあるスクリプトがシェル変数と環境変数を設定していることまでは理解できましたが
新しいシェルが起動するのはbashコマンドですよね?
”.”や”sorce” では新しいシェルがは起動しないですよね?
bashコマンドでなら新しいシェルが起動しましたので
340: (ワッチョイ cf15-pAlF) 2022/02/20(日)13:02 ID:RoOEYZsr0(1/2) AAS
>>338
逆です
現在のシェル環境に影響を与えたい時以外は . (ドットコマンド)を用いない、という事です
環境というのは、シェル変数, 環境変数, シェル関数, alias, shopt, umask 等々です

子プロセス(新しいプロセス)でスクリプトを実行した場合、子プロセスでのこれらの変更は親プロセス(呼び出し元のシェル)には波及しません
一方、ドットコマンドでスクリプトを実行した場合、現在のシェルの環境が変更されます

その変更を期待している(環境変数の設定を行いたいなど)の場合はドットコマンドを使う必要がありますが、
そうでなければ、意図しない影響が考えられるので、単にスクリプトを実行するためにはドットコマンドを用いるべきでない、と言うことです

例えばスクリプト中に
unset PATH
省1
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.034s