PATH
次の場所にある2つの異なるスクリプトで変数を変更しようとしています。/etc/profile.d/
/etc/profile.d/php.sh
#!/bin/sh PATH=$PATH:/usr/local/php/bin export PATH
/etc/profile.d/mysql.sh
#!/bin/sh PATH=$PATH:/usr/local/mysql/bin export PATH
CentOSを再起動してPATH
変数(編集済み)を確認しましたが、$ PATHが2回修正されました!
[]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:
/usr/local/mysql/bin:/usr/local/php/bin:/home/IntUser/bin:/usr/local/mysql/bin:
/usr/local/php/bin
[]$
ルートモードで:
[]$ su
Password:
[]#
$ PATHが3回修正されました!
[]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:
/usr/local/mysql/bin:/usr/local/php/bin:/home/IntUser/bin:/usr/local/mysql/bin:
/usr/local/php/bin:/usr/local//mysql/bin:/usr/local/php/bin
[]#
一度だけ割り当てたらどうでしょうか?
ベストアンサー1
問題を解決する方法は次のとおりです。/etc/profile.d/php.sh
ファイルの内容を次のように置き換えます。
pathmunge /usr/local/php/bin after
ファイルも同じです/etc/profile.d/mysql.sh
。
pathmunge /usr/local/mysql/bin after
説明は/etc/profile.d/*.shのファイルです源泉/etc/profile
(bashシェルにログインして得たもの)。
これらのファイルはソースとして提供されるため、/etc/profile
ファイル内のすべての変数と関数を使用できます。これは、まだ存在していないpathmunge
ディレクトリに新しいディレクトリを追加することが唯一の目的である(私のFedora 20の)機能です。PATH
このキーワード
after
はPATH
。
これにより重複は発生しません。しかし、なぜあなたがそれを持っているのかわかりません。