/etc/profile.local
(ルートとして)調整するには、次の行を使用するように指示されました。
export PATH=$PATH:~/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/lib
export LIBRARY_PATH=$LIBRARY_PATH:~/lib
export ALLOW=1
しかし、ファイルが見つからないようですprofile.local
。 Ubuntu 14.04を使用しています。とにかく、これを実行するために必要なプログラムはコマンドを見つけることですので、cmds
これは私のパスを更新するだけだと思いますか?
私はLinuxに初めて触れたので、助けてくれてありがとう。グローバルアップデートを試しましたが、/etc/profile
何も実行できませんでした。
答え1
存在しない場合は、/etc/profile.local
単に作成してテキストエディタで次の行を作成するか、次の行をコピーして貼り付けることができます。
cat <<EOF>/etc/profile.local
export PATH=$PATH:~/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/lib
export LIBRARY_PATH=$LIBRARY_PATH:~/lib
export ALLOW=1
EOF
入れようとする理由/etc/profile.local
は、ファイルを上書きせずに/etc/profile
システム更新時に更新されるためです。
答え2
に記載された方法の代替として@jimmijからの返信/etc/profile.local
、これらの変更を以下のファイルに保存することもできます/etc/profile.d
。
このディレクトリのファイルは、アカウントがログインしたときに取得されます。たとえば、
$ ls -l /etc/profile.d/ | head -5
total 120
-rw-r--r--. 1 root root 771 Mar 26 2014 256term.csh
-rw-r--r--. 1 root root 841 Mar 26 2014 256term.sh
-rw-r--r--. 1 root root 2864 Apr 23 04:28 autojump.bash
-rw-r--r--. 1 root root 619 Apr 23 04:28 autojump.sh
zsh
ユーザーがまたはまたはbash
などのBourneスタイルのシェルを使用している場合csh
。
これらのファイルにはエクスポートが含まれており、次のようになります。
$ more /etc/profile.d/lithograph_software.sh
export PATH=$PATH:$HOME/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lib
export LIBRARY_PATH=$LIBRARY_PATH:$HOME/lib
export ALLOW=1
答え3
同じ問題がありますが、どこでもこの簡単な解決策を見つけることができませんでした。カスタムコマンドを追加してファイルを生成したら、ユーザーファイルに/etc/profile.local
次の文字列を追加する必要があります。.profile
test -s /etc/profile.local && . /etc/profile.local
すべてのユーザーには2つのシナリオがあります。
ユーザーが存在しない場合は、次の行を追加します。
/etc/skel/.profile
~/.bash_profile
ユーザーがすでにSKELディレクトリまたはファイルを持っている場合、デフォルトではSKELディレクトリが見つからない可能性があります~/.bash_login
。そして、既存のユーザーには機能しません。既存のユーザー(ルートの場合など)の場合は、手動で追加するか、または追加
/root/.profile
ユーザーを追加する必要があります。この手順の後にもう一度ログインしてください。~/.profile
~/.bash_profile
この推奨事項は、Ubuntuなどのオペレーティングシステムに適用されます。他のオペレーティングシステムにはこれに対するソリューションが組み込まれている可能性があります。たとえば、SUSE Linuxです。