1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Ubuntu備忘録】自作スクリプトをコマンドとして使えるようにする方法

Posted at

自分用の備忘録。
よく使う .sh スクリプトを毎回 ./script.sh と打つのが面倒なので、コマンドとして使えるようにしたときの手順まとめ。


目的

たとえばこういうスクリプト:

#!/bin/bash
echo "Hello, world!"

これをターミナルでどこからでも hello のように呼び出せるようにしたい。


ステップ1:スクリプトに実行権限を付ける

chmod +x myscript.sh

ステップ2:パスの通ったディレクトリに配置する

1. ユーザー専用にするなら ~/.local/bin/

mkdir -p ~/.local/bin
mv myscript.sh ~/.local/bin/hello

※拡張子 .sh は省略してOK。hello のような短い名前が使いやすい。

2. システム全体で使うなら /usr/local/bin/(要root)

sudo mv myscript.sh /usr/local/bin/hello
sudo chmod +x /usr/local/bin/hello

ステップ3:PATHに含まれているか確認

echo $PATH

~/.local/bin が含まれていない場合は、以下を .bashrc.zshrc に追記:

export PATH="$HOME/.local/bin:$PATH"

反映させるには:

source ~/.bashrc

ステップ4:動作確認

hello

と打って Hello, world! が出れば成功。


補足:Python仮想環境(venv)内でも使える?

  • ~/.local/bin//usr/local/bin/ に入れたスクリプトは、仮想環境とは無関係に使える
  • 仮想環境を有効化した状態でも、PATHに通っていれば問題なく呼び出せる
  • ただし sudo が必要なコマンドはそのまま権限が必要

よく使う例:外付けHDDのアンマウント&電源オフ

自作の safe-unmount コマンドを使って、NTFSの外付けHDDを安全に取り外しています。

このスクリプトと、自動マウント設定については別記事にまとめています👇

Ubuntu 24.04で外付けNTFS HDDを自動マウントする方法まとめ

※ 引数対応・--help オプション対応・udisksctlとの組み合わせなども紹介しています。


まとめ

操作 方法
実行可能にする chmod +x script.sh
コマンドとして使う ~/.local/bin//usr/local/bin/ に移動
PATH確認 echo $PATH
仮想環境でも使える 問題なし
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?