Solaris - すべてのユーザーに対してPATHを永久に更新します。

Solaris - すべてのユーザーに対してPATHを永久に更新します。

Solaris 11システムにJDKとGroovyをインストールしました。シェルを開くたびに、PATH変数にbinディレクトリが含まれるように設定したいと思います。

私が理解したのは、ファイルの最後に次の行を追加することで/etc/profile問題を解決します。

JAVA_HOME=/usr/jdk/instances/jdk1.7.0
PATH=${PATH}:${JAVA_HOME}/bin

GROOVY_HOME=/usr/local/bin/groovy-2.1.3
PATH=${PATH}:${GROOVY_HOME}/bin

export PATH

ただし、Puttyセッションを再開すると、JAVA_HOMEおよびGROOVY_HOME変数のみが影響を受けます。 PATH変数は変更されず、そのまま残ります。

/usr/bin:/usr/sbin

PATH変数を上書きできる/etc/profileの後に実行される他のスクリプトがあるかどうか疑問に思います。しかし、どこを見るべきかわかりません。

それとも別の質問がありますか?


コメントで提案したように、代わりに次の行を試してみましたが、残念ながら同じ効果がありました。

JAVA_HOME=/usr/jdk/instances/jdk1.7.0
GROOVY_HOME=/usr/local/bin/groovy-2.1.3
export PATH=${PATH}:${GROOVY_HOME}/bin:${JAVA_HOME}/bin

答え1

/etc/default/loginログインシェルを確認してください。ここでは初期パスを強制することができます。

実行しているSolarisのバージョンに応じて、/ etc / profileに変数を追加すると機能します。 Solarisの場合、より移植可能なアプローチは、PATH変数を個別に設定してエクスポートすることです。

JAVA_HOME=/usr/jdk/instances/jdk1.7.0
GROOVY_HOME=/usr/local/bin/groovy-2.1.3
PATH=${PATH}:${GROOVY_HOME}/bin:${JAVA_HOME}/bin
export PATH

Solaris 11(bashデフォルトシェル)は構成ファイルで正常に機能しますが、以前のバージョンのSolarisではexport PATH=...構文を予期したとおりに解析できないか、まったく解析できない可能性があります。

また、ユーザーの初期パスのみを変更することを覚えておいてください。/etc/profileユーザーの投稿を読む前に、まずお読みください。.profile

デフォルトでは、Solarisユーザーは通常、デフォルトパスを含む独自の.profileファイルを取得します。

solaris:~$ grep PATH .*
.profile:export PATH=/usr/bin:/usr/sbin

この.profileを読んでいるので後ろにあなたが変更したコンテンツ/etc/profile、変更は$PATH削除され、ユーザーのアイテムが続きます。

ファイルを編集して新しいユーザーにこれらの変更を追加することはできますが、既存/etc/skel/.profileのユーザーに変更を永続的に適用するには、個人の.profilesを編集するか、ユーザーが直接編集していない場合は上書きする必要があります。

関連情報