例:Ubuntuでは、ホームディレクトリに常に.local
ディレクトリがあり、.profile
には次の行が含まれます。
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
$HOME/.local/bin
はデフォルトでは存在しませんが、作成された場合はすでに$PATH
にあり、実行可能ファイルを見つけることができます。
これは XDGディレクトリ仕様 で正確に言及されていませんが、それに由来しているようです。
これが十分に一般的であり、最も一般的なエンドユーザーディストリビューションに存在すると通常想定できるかどうか、私は思います。たとえば、Debianのすべての派生物、または少なくともUbuntuのものですか? Red Hat/Fedora/CentOSエコシステムはどうですか? Arch、Suse、そして最近の人々の使用についても同様です。
さらに明確にするために、これは$HOME/.local/bin
のみであり、ではありません$HOME/bin
。
好奇心から、情報があれば、BSD、OS/Xなどを自由に含めてください。 :)
_~/.local
_ディレクトリは systemdファイル階層仕様 の一部であり、 xdg user-dirs spec の拡張です。
bash
のDebian派生パッケージは、bash 4.3にリベースしたときに_~/.local
_パスを失ったため、混乱する可能性があります。
これは bug であり、パッチはDebianシステムに少しの間置かれています。
この バグ は、Ubuntu 16.04にパスに〜/ .localがあり、Ubuntu 17.04になかった理由です。
_systemd-path
_をユーザーとして実行すると、パスに含まれることが意図されていることがわかります。
_$ systemd-path user-binaries
/home/foo/.local/bin
_
理論的には、クエリに対する答えはsystemdを使用するか、systemdとの互換性を維持したいディストリビューションです
file-hierarchy(7)
に詳細があります
RPMベースのディストリビューションでは、状況は次のように見えます
Sudo su -l johndoe
で機能しますが、-l
スイッチを使用しないと機能しません。これらのバグを並べ替えて表示したい場合は、問題の重要性を強調するため、それらに投票/コメントすることを忘れないでください。