$_ 自作スクリプト .local
/bin に入れておく

  • ~/.local/bin はユーザー専用のスクリプト置き場で、root権限なしに自作ツールを管理できます。
  • スクリプトをコピーして chmod +x で実行権限を付与するだけで、拡張子なしのコマンドとして使えます。
  • PATHに含まれているか echo $PATH で確認し、含まれていなければ .bashrc などに追記します。
  • スクリプトが増えた場合は ~/.local/lib/ に本体を置き、~/.local/bin にシンボリックリンクを張って整理します。

関連記事

1. 実行ファイル置き場を作り PATH を通す

Unixの慣習として、~/.local/bin はそのユーザー専用の実行ファイル置き場です。
システム全体に影響せず、root権限も不要なので、自作スクリプトや手動でインストールしたツールを置くのに向いています。

$ cp script ~/.local/bin/ $ chmod +x ~/.local/bin/script $ script ▶ 実行完了 ~/.local/bin スクリプト管理 ユーザー専用 root不要・簡単配置 3ステップで完了 コピー → 権限付与 → 実行

PATHに含まれているか確認するには echo $PATH を実行します。
含まれていなければ .bashrc.zshrc に以下を追記します。

export PATH="$HOME/.local/bin:$PATH"
Code language: JavaScript (javascript)

2. スクリプトを配置して実行権限を付与する

置き方は単純で、スクリプトをコピーして実行権限を付与するだけです。

cp myscript.sh ~/.local/bin/myscript
chmod +x ~/.local/bin/myscript
Code language: JavaScript (javascript)

拡張子を省くのが慣例です。
myscript.sh ではなく myscript とすることで、ターミナルから単に myscript と打てば動きます。

pipx や cargo、goのようなツールも、インストール先として ~/.local/bin を使うものが多く、自作スクリプトと同じ場所に集約できます。

スクリプトが増えてきたら ~/.local/bin 以下にサブディレクトリを作って整理したくなりますが、サブディレクトリはPATHが通らないので注意が必要です。
カテゴリ分けしたい場合は ~/.local/lib/mytools/ などに本体を置き、~/.local/bin にはシンボリックリンクだけ置く方法があります。

スクリプトが増えたら ❌ サブディレクトリ直接 ~/.local/bin/ ├── web/ └── script-a └── utils/ └── script-b サブディレクトリには PATHが通らない ✅ シンボリックリンク ~/.local/lib/mytools/ ├── script-a ← 本体 └── script-b ← 本体 ~/.local/bin/ └── script-a 🔗 ln -s ~/.local/lib/mytools/x ~/.local/bin/x 💡 ln -s の引数:第1引数=実体パス 第2引数=リンクのパス