web-dev-qa-db-ja.com

ユーザーのPROFILEファイルを変更して、作成したスクリプトフォルダーをPATH変数の最後に追加するにはどうすればよいですか?

ユーザーのPROFILEファイルを変更して、作成したスクリプトフォルダーをPATH変数の最後に追加するにはどうすればよいですか?
これが何を意味するのか完全にはわかりません。誰でも説明できますか?.
ありがとう:)

9
user1221987

Unix/linuxシステムでは、ユーザーID( 'john')とホームディレクトリ( '/ home/john')があります。ホームディレクトリには省略形があり、チルダ:〜(ディレクトリパスの先頭)はホームディレクトリ( "/ home/john")と同じことを意味します。

ホームディレクトリには、ピリオドで始まるファイルがいくつかあります(ドット、つまりピリオドで始まるため、ドットファイルとも呼ばれます)。ログインすると、コマンドラインの提供を開始したシェル(コマンドを入力したときにコマンドラインを処理するプログラム)がこれらのファイルを探して読み取り、その内容を使用してシェル環境を初期化します。これらのファイル(存在する場合)を表示するには、コマンドラインで次のコマンドを入力します。

cd
ls -a

引数なしのcdは、「現在のディレクトリを私のHOMEディレクトリに変更する」という意味です。 lsコマンドは、(特に)ディレクトリ内のファイルを一覧表示します。 -aオプションは「隠しファイルを表示する」と表示します。隠しファイルはピリオドで始まるファイルです-これはunix/linuxでファイルを「隠す」ために使用される規則です。

.profile(大声で言うと、「ドットプロファイル」と発音されることが多い)ファイルは、環境の初期化に使用されるそのようなドットファイルの1つです。

シェルは、PATH環境変数を使用して、実行可能ファイル(プログラム)を検索します。

「プロファイルのPATHを更新する方法」などをググると、トピックの詳細がわかります。

以下は、.profileファイルにある典型的なスニペットです。その目的は、ディレクトリ/ usr/mypackage/binに格納されているプログラムを実行できるようにすることです。

PATH="/usr/mypackage/bin:$PATH"
export PATH

PATHにディレクトリを置くと、長い形式( '/ usr/mypackage/bin/myprogram')の代わりにプログラム名( 'myprogram')だけを入力できます。

このスニペットの効果はecho $PATHを使用して確認できます。 PATH変数の値全体が表示されます。値は、コロンで区切られたパス(ディレクトリ)のリストである必要があります。簡単な例:

echo $PATH
/usr/mypackage/bin:/usr/bin:/bin

これにより、詳細の調査を開始するための足がかりが得られます。詳細については、「linux/unixログインの設定方法」、「。profileファイルとは」などのトピックを検索してみてください。

PATHの値を設定するときは、二重引用符を使用して、パス内の項目の名前に含まれる可能性のある「通常の」文字をカプセル化することをお勧めします。単一引用符は、$ PATH(新しいパス値を定義するときに既存のパスを提供するもの)の評価を妨げるため、これには適していません。引用符についての詳細は これは一重引用符と二重引用符の1つの議論です

28
Art Swri

catcdなどの組み込みプログラムは、コマンドを入力するだけで機能します。ただし、これらは/usr/bin/などの特定のフォルダーにあります。自分で試して、which catと入力して、catがどのフォルダーにあるかを確認してください。

そのようなコマンドを入力すると、シェルは入力したコマンドを探す必要があるフォルダーのリストを必要とします。これには、このリストを格納する$PATH変数を使用しました。 echo $PATHと入力すると表示されます。

これで、シェルを閉じると、$PATH変数がなくなります。シェルを再度開くと、一定量のスクリプトが開始されます。そのうちの1つは.profileスクリプトです。このスクリプトでは、$PATH変数が読み込まれます。したがって、.profileファイルを調整して、$PATHを完全に保存することができます。そのためには、このファイルを編集し、$PATHが定義されている行を編集します(例:pico ~/.profile)。

特定のケースでは、このように$PATHにスクリプトフォルダーを追加すると、起動するときにパッド全体ではなく、スクリプトの名前を簡単に書き込むことができます。

2
gleerman

PATH変数は、シェルがプログラム/コマンドを実行しようとしたときにそれらを検索するディレクトリのリストを格納します。次のように入力して、コマンドラインからその値にアクセスできます。

echo $PATH

それを変更するときは注意してください。そうしないと、コマンドラインからプログラムを実行する機能が妨げられる可能性があります。元の値を変更せずに新しいディレクトリを追加するには、次のような行をファイルに追加します。

PATH=$PATH:/directory_to_add

ここで、「directory_to_add」はパスに追加するディレクトリです($ PATHはシェルにPATHの値を挿入するように指示します)。次に、コマンドラインでフォルダー内のいずれかのスクリプトの名前を入力すると、完全なパス名を入力しなくても実行できます(実行権限がある限り)。

注-プロファイルファイルは〜/ .profileにあります。テキストエディターを使用して上記の行を追加し、ファイルを再保存できます。次に、ホームディレクトリからsh ./.profileと入力すると、パスに目的のディレクトリが含まれます。

1
blake