答え1
「ファイルに保存された変数」は実際にはありません。ほとんどの変数タイプは、実行中のプロセス(シェルまたは他のプログラム)状態にあります。 (環境変数、シェル変数などには違いがありますが、ここでは重要ではありません。)各プロセスには一意の変数セットがあります(環境変数のコピーが作成されたときに子プロセスに継承されることを除く)。
同様のコマンドを使用してシェルプロセスで変数を定義できますが、name="Jhon"
これは他のプロセスではなく、特定のシェルプロセスでのみ変数を定義します。しかも、それ実行可能なコマンド;定義は実行時にのみ発生します(たとえば、ファイル内にある場合)、name="Rho"
後で他のコマンド(たとえば、または)を実行して変更できますunset name
。
「どこでも」変数を定義する一般的な方法は、〜/ .bashrcなどのシェル初期化ファイルに変数を定義するコマンドを配置することです。ただし、この定義は、シェルの起動時にこのファイルのコマンドが実行されたときにのみ実行されます。たとえば、bash ログイン bash シェルは ~/ ではなく ~/.bash_profile (または ~/.bash_login または ~/.profile) を実行します。 。 bashrc; bash以外のシェル(zshやdashなど)はまだ別の初期化ファイルを実行します。
答え2
rc
永続性のために、またはソースファイルで変数を宣言します。rc
echo 'source /home/ec2-user/file1' >> /home/ec2-user/.bashrc