子プロセスの中で親プロセスのユーザ変数(ローカル変数)にアクセスするには、どうすればいいですか? ? ?
そのような要求に遭遇したとき、私はexportコマンドについて話さなければなりませんでした。
exportコマンドについての説明
exportコマンドは、子シェルプロセスでアクセスできるように、ユーザー変数を環境変数に設定します。これは中国の輸出の意味とまったく同じです。前の例では、親シェルでコマンドを入力できます。
> export strスクリプトを再度実行すると、ユーザー変数strの値を出力できますが、これがエクスポートの役割です。ただし、親シェルにエクスポート文字列を入力した後、親シェルを閉じると、環境変数は無効になりますので、シェルを開く場合はすぐにエクスポートを設定できます。その起動設定ファイルは、親シェルが閉じているためエクスポートが無効になることはありません。
親と子のもう1つの関係
子プロセスで親プロセスの変数にアクセスできるようになりました子シェルで親シェルの変数を変更すると、親シェルの変数に影響があるかどうか考えたことはありますか?値は何ですか?テストをしたいのですが。
#!/bin /bash#親シェルによって渡された変数strの値を変更します$ str = 'http://www.jellythink.com'echo $ strスクリプトを実行して、親シェルでstrの値を見つけます。変更はありません。実際、これはLinuxのプロセスに関するもう1つのナレッジポイントに関連しています。親プロセスが子プロセスを分岐すると、子プロセスは親プロセスの関連変数をコピーしますが、このとき、子プロセスは親プロセスと同じ値になりますが、同じ名前は同じ値ですが、親プロセスのコピーにすぎません。コピーへの変更は、親プロセスとは無関係です。 Linuxプロセスについては、この記事を参照してください。
そして、子シェルで変数を定義した場合、それは親シェルでアクセス可能ですか?あなたは親シェルの子シェルで定義された変数にアクセスすることはできません。親シェルの子シェルで定義されている変数にアクセスする場合は、一時ファイルを使用してローカル変数を一時ファイルに書き込むことができ、親シェルはそのファイルを読み取って子シェルで定義されている変数にアクセスします。
概要
この記事は多種多様なものが混在していますが、各部分は密接に関連していて連動していますので、Linuxシェル全体を理解することは非常に役に立ち、Linuxシェルを学ぶことも役に立ちます。この記事は少し長く、最初から最後まで読むには少し忍耐が必要です。学ぶためには、少し忍耐が必要です。これはここで要約され、そして次のものはさようならです。
Jelly Think - オリジナルの技術記事共有サイト。 2015年10月21日にフフホトで。
本文に含まれるコマンドといくつかの関連コマンドの要約です。
リポジトリファイルはFedoraのyumソース(ソフトウェアリポジトリ)の設定ファイルです。通常リポジトリファイルは1つ以上のソフトウェアリポジトリの詳細を定義します、例えばどこにインストールやアップ
一般的に言って、Ubuntuをインストールした後、集中型ディスプレイドライバがインストールされています。ただし、詳細を見ると、グラフィックが不明であることがわかります。つまり、システムがグラフィックカ
今日、Apple Mac OSとMicrosoft Windowsは今日マルチタッチをサポートしていますが、Linuxオープンソースコミュニティもこの点でペースを速めています。 Canonical F
#vi /etc /sysconfig /network-scripts /ifcfg-eth0 DEVICE = eth0#NICに対応するデバイスエイリアスを記述します。BOOTPROTO