PATH変数は常にリセットされます。それを修正するには?


9

少し前に、PATH変数を展開してカスタムコマンドターミナルを作成できることがわかりました。残念ながら、ターミナルを閉じて再び開くと、常にリセットされます。

この問題を解決する方法を知っていますか?

ターミナルコマンドを使用していくつかのスクリプトを開始する場合、以前はPATH変数を毎回展開したくありません...


1
あなたの中に入れます.bashrcか?
gniourf_gniourf 2013年

どうやってするか?私はLinuxの新人です;)
Jenne

2
次の.bashrcようにファイルを開きますgedit ~/.bashrc。たとえば、ファイルの下部にある方が望ましいものを何でも入れます。たとえば、PATH="~/my/cool/path/:$PATH"この変数をエクスポートします。入力した行の後にexport PATH、ファイルを保存してから、ターミナルを閉じて再度開きます。それと今あなたの実行可能ファイル~/my/cool/pathが見つかります。
gniourf_gniourf 2013年

私はあなたへの完全な回答としてそれを書きました...:)
gniourf_gniourf 2013年

回答:


15

たとえば、ホームフォルダーの1つにいくつかの実行可能ファイルがあり、~/bin常にフルパスを入力しなくても実行可能にしたいと考えています~/bin/my_cool_executable

PATH=~/bin:$PATHターミナルに入ると物事がうまくいくことをすでに観察しました...しかし、ターミナルを閉じるまでしか。新しいPATH変数を開くと、以前の変数は元の値にリセットされます。ところで、PATH変数の値をいつでもチェックする方法は知っていると思います。

echo "$PATH"

PATH新しいターミナルを再度開いたときに同じになるように、変更を永続的にするにはどうすればよいですか?とても簡単.bashrcです。ファイルを編集するだけです。geditエディターを使ってみましょう:ターミナルで次のように入力します:

gedit ~/.bashrc

geditエディターが開きます。ファイルの最後までスクロールして、これを追加します。

# Added by me on 2013/06/24
PATH=~/bin:$PATH
export PATH

ファイルを保存して終了しgeditます。次に、ターミナルを閉じて、新しいターミナルを開きます。これで、PATH変数の~/bin前に変数を配置して、~/binフルパスを入力せずにコマンドにアクセスできるようにする必要があります。そして、それを確認する方法を知っていますecho "$PATH"

楽しい!

警告。変数に入れることは悪い習慣とセキュリティの脆弱性と考えられ.ていPATHます。


だから、それは本当に良かったのですが、私がrootになると、プログラムを開始できなくなりました。なぜ、どうやってそれを修正するか知っていますか?:)
Jenne

この場合、1つのオプションは/usr/local/binPATH変数をいじる代わりにプログラムを配置することです...または、/usr/local/sbinルートからのみアクセスする必要がある場合に配置します。
gniourf_gniourf 2013年

ルートとして実行する必要があるものとそうでないものがあります。したがって、問題がなく、それらがカスタムディレクトリにある場合は、それが適切です。それができるのでしょうか?:)
Jenne
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.