Linuxの環境変数とPATH|「command not found」の正体と.bashrc・alias

Lv2 では、権限や apt、grep、パイプ(=半角の縦棒 | で、前のコマンドの結果を次のコマンドに渡すこと)など、Linux を使いこなすための基本をひととおり見てきました。apt は、Debian・Ubuntu で、ソフトを入れる・更新する・消すための道具でしたね。ここからの Lv3 では、いよいよ「自動化」に近づいていきます。

その最初の壁が、command not found です。ネットの手順どおりにソフトを入れたのに、コマンドを打つと「そんなコマンドはない」と言われる。よくあるのが、自分で作ったスクリプトを置いたのに動かない、というパターンです。私も最初は、こういうところで時間を溶かしがちでした。原因の多くは、PATH という「コマンドを探す場所のリスト」に、その場所が入っていないことです。

この記事では、環境変数と PATH のしくみ、そして .bashrc と alias でターミナルを自分好みに整える方法を、練習用のファイルで確かめながら見ていきます。

💡
この記事でわかること
  • 環境変数とは何か($HOME・$USER・$PATH)
  • 「command not found」が出るしくみと、PATH に場所を足す方法
  • export をつける・つけないの違い
  • .bashrc に書いて、設定を毎回使えるようにする方法
  • alias で、長いコマンドに短い名前をつける方法
🔰
この記事の前提
  • chmod u+x でファイルに実行権限をつけられる
  • nano でファイルを編集・保存できる
  • > と >> の違いがわかる

まだの方は、前の記事「Linuxの圧縮と展開|tar・gzip・zipの使い分け【初心者向け】」と、Lv2 の記事から読むのがおすすめです。

💡
用語メモ
  • 権限(パーミッション):ファイルを「持ち主・グループ(ユーザーをまとめたチーム)・その他の人」ごとに、読む・書く・実行するをしてよいかの決まり
  • フルパス:/home/kaito/linux-practice/bin/hello-kaito のように、いちばん上の / から書いた場所(絶対パスとも言います)
  • ログインシェル:ログインしたときに最初に動くシェル。エラーの頭につく -bash: の - が、その印です
  • APIキー・トークン:Web のサービスを使うときに、本人の代わりになる合言葉のような文字列。人に見せてはいけません

用語で迷ったら、連載のまとめ記事の「よく出てくる用語ミニ辞典」でも確かめられます。


結論:コマンドは「PATH に書かれた場所」からしか探されない

用語 ひとことで言うと 確かめ方
環境変数 シェルが覚えていて、動かすプログラムにも渡す「名前つきのメモ」 printenv
$HOME 自分のホームディレクトリの場所 echo $HOME
$PATH コマンドを探しに行く場所のリスト echo $PATH
export メモを、そのあと動かすプログラムにも渡す export 名前=値
.bashrc ターミナルを開くたびに読まれる設定ファイル nano ~/.bashrc
alias コマンドのあだ名 alias ll='ls -alF'

PATH のしくみ

環境変数をのぞいてみる

環境変数は、シェルが覚えていて、そこから動かすプログラムにも渡される「名前つきのメモ」です。名前の前に $ をつけると、中身を取り出せます。

  • 1
  • 2
  • 3
echo $HOME
echo $USER
echo $SHELL

🖥️
この記事の出力例について

ここから先の出力例は、Debian 13での実行例です(ユーザー名 kaito・パソコン名 demo のダミー環境)。UbuntuやWSL(=Windows の中で Linux を動かせる、Microsoft のしくみ)では、表示が少し違うことがあります。

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
kaito@demo:~$ echo $HOME
/home/kaito
kaito@demo:~$ echo $USER
kaito
kaito@demo:~$ echo $SHELL
/bin/bash

ほかにどんなメモがあるかは、printenv で一覧できます。とても長いので、head で先頭だけ見てみましょう。

  • 1
printenv | head -15

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
kaito@demo:~$ printenv | head -15
SHELL=/bin/bash
PWD=/home/kaito
LOGNAME=kaito
HOME=/home/kaito
LANG=C.UTF-8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.7z=01;31:*.ace=01;31:*.alz=01;31:*.apk=01;31:*.arc=01;31:*.arj=01;31:*.bz=01;31:*.bz2=01;31:*.cab=01;31:*.cpio=01;31:*.crate=01;31:*.deb=01;31:*.drpm=01;31:*.dwm=01;31:*.dz=01;31:*.ear=01;31:*.egg=01;31:*.esd=01;31:*.gz=01;31:*.jar=01;31:*.lha=01;31:*.lrz=01;31:*.lz=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.lzo=01;31:*.pyz=01;31:*.rar=01;31:*.rpm=01;31:*.rz=01;31:*.sar=01;31:*.swm=01;31:*.t7z=01;31:*.tar=01;31:*.taz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tgz=01;31:*.tlz=01;31:*.txz=01;31:*.tz=01;31:*.tzo=01;31:*.tzst=01;31:*.udeb=01;31:*.war=01;31:*.whl=01;31:*.wim=01;31:*.xz=01;31:*.z=01;31:*.zip=01;31:*.zoo=01;31:*.zst=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.jxl=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:
TERM=xterm-256color
USER=kaito
SHLVL=1
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
MAIL=/var/mail/kaito
_=/usr/bin/printenv

LS_COLORS は ls の色分けの設定で、1行がとても長く表示されます。読み飛ばして大丈夫です。

💡
printenv の結果は、人に見せる前に確かめる

自動化を進めていくと、API キーやトークンを環境変数に入れることがあります。そうなると、printenv の一覧に、それらがそのまま表示されます。スクリーンショットや質問に貼る前に、必ず中身を見直しましょう。


PATH:コマンドを探す場所のリスト

いちばん大事な環境変数が PATH です。中身を見てみます。

  • 1
echo $PATH

(例)

  • 1
  • 2
kaito@demo:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Ubuntu や WSL では、/usr/local/sbin などの場所が加わって、もっと長く表示されることがあります。

:(コロン)で区切られた場所が、コマンドを探しに行くリストです。たとえば ls と打つと、シェルはこのリストを左から順番にのぞいて、ls という名前のファイルを探します。見つかった場所を確かめるには、Lv2 で使った which が便利です。

  • 1
  • 2
which ls
which nano

(例)

  • 1
  • 2
  • 3
  • 4
kaito@demo:~$ which ls
/usr/bin/ls
kaito@demo:~$ which nano
/usr/bin/nano

「command not found」を自分で起こしてみる

練習用に、小さなコマンドを自分で作ってみます。場所は ~/linux-practice/bin です。

  • 1
  • 2
  • 3
  • 4
  • 5
mkdir -p ~/linux-practice/bin
cd ~/linux-practice/bin
echo 'echo "kaito のコマンドが動きました"' > hello-kaito
chmod u+x hello-kaito
ls -l hello-kaito

(例)

  • 1
  • 2
kaito@demo:~/linux-practice/bin$ ls -l hello-kaito
-rwxrw-r-- 1 kaito kaito 47 Nov  1 02:53 hello-kaito

持ち主のところ(左から2〜4文字目)に x がついていれば大丈夫です。グループのところが rw- になっているのは、新しく作るファイルの権限の初期設定(umask)によるもので、環境によっては -rwxr--r-- と表示されます。

その場所にいる状態で、名前だけで呼んでみましょう。

  • 1
hello-kaito

(例)

  • 1
  • 2
kaito@demo:~/linux-practice/bin$ hello-kaito
-bash: hello-kaito: command not found

先頭の -bash: は、ログインシェルで動いているときの表示です。ふだんのターミナルでは bash: hello-kaito: command not found のように表示されることもあります。日本語の環境では -bash: hello-kaito: コマンドが見つかりません と表示されます。

Debian 13での実行画面

ファイルは目の前にあるのに、「見つからない」と言われました。シェルは、今いる場所ではなく、PATH に書かれた場所だけを探すからです。場所をつけて呼べば動きます。

  • 1
  • 2
./hello-kaito
~/linux-practice/bin/hello-kaito

(例)

  • 1
  • 2
  • 3
  • 4
kaito@demo:~/linux-practice/bin$ ./hello-kaito
kaito のコマンドが動きました
kaito@demo:~/linux-practice/bin$ ~/linux-practice/bin/hello-kaito
kaito のコマンドが動きました

PATH に場所を足す

毎回場所を書くのは面倒なので、PATH のリストに ~/linux-practice/bin を足してみます。

  • 1
  • 2
  • 3
  • 4
  • 5
export PATH="$HOME/linux-practice/bin:$PATH"
echo $PATH
cd ~
hello-kaito
which hello-kaito

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
kaito@demo:~/linux-practice/bin$ export PATH="$HOME/linux-practice/bin:$PATH"
kaito@demo:~/linux-practice/bin$ echo $PATH
/home/kaito/linux-practice/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
kaito@demo:~/linux-practice/bin$ cd ~
kaito@demo:~$ hello-kaito
kaito のコマンドが動きました
kaito@demo:~$ which hello-kaito
/home/kaito/linux-practice/bin/hello-kaito

ホームに戻っても、名前だけで動くようになりました。ポイントは、最後の :$PATH です。「新しい場所+今までのリスト」という意味で、今までの場所を残したまま先頭に足しています。

ここで ~/linux-practice/bin ではなく $HOME/linux-practice/bin と書いているのには、理由があります。" で囲んだ中では、~ はホームの場所に置きかわらず、~ という文字のまま残ってしまうからです。$HOME なら、" の中でも /home/kaito に置きかわります。

先頭に足したので、同じ名前のコマンドがほかの場所にもあるときは、先頭に足した場所のものが先に見つかります。PATH="$PATH:足す場所" のように後ろに足すと、今までのコマンドが優先されます。練習では、どちらでも動きます。

🚫
:$PATH を書き忘れて上書きしない(文章だけで説明します)

export PATH="$HOME/linux-practice/bin" のように :$PATH を書き忘れると、PATH が「その1か所だけ」に置きかわります。すると、ls も nano も見つからなくなり、ほとんどのコマンドが「command not found」になります。ターミナルを開き直せば元に戻りますが、これを .bashrc に書いてしまうと、開き直しても同じ状態が続いてしまいます。この記事では試しません。PATH を書きかえるときは、必ず :$PATH がついているか見直しましょう。

💡
「command not found」が出たら、この順番で確かめる
  1. 名前のつづり:大文字・小文字もふくめて、まちがっていないか
  2. 入っているか:ls 置いた場所 でファイルがあるか。ソフトなら sudo apt install で入れたか
  3. PATH に場所があるか:echo $PATH に、そのファイルを置いた場所が入っているか
  4. 場所つきなら動くか:./名前 やフルパスで動けば、PATH の問題です。Permission denied なら、実行権限(x)の問題です

which 名前 が何も表示しないときは、PATH のどこにも見つからなかった、という意味です。似た道具に type 名前 があり、こちらは alias やシェルに組み込まれたコマンド(cd など)も教えてくれます。


export をつける・つけないの違い

メモは自分で作ることもできます。export をつけないで作ったメモはシェル変数と呼ばれ、今のシェルの中だけで使えます。export をつけたものが環境変数で、そこから動かすプログラムにも渡されます。

  • 1
  • 2
  • 3
MY_MESSAGE="こんにちは"
echo $MY_MESSAGE
bash -c 'echo "子どものシェル:$MY_MESSAGE"'

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
kaito@demo:~$ MY_MESSAGE="こんにちは"
kaito@demo:~$ echo $MY_MESSAGE
こんにちは
kaito@demo:~$ bash -c 'echo "子どものシェル:$MY_MESSAGE"'
子どものシェル:

bash -c は、新しいシェル(子ども)を1つ動かして、その中でコマンドを実行します。export をつけると、子どもにもメモが渡ります。

  • 1
  • 2
export MY_MESSAGE="こんにちは"
bash -c 'echo "子どものシェル:$MY_MESSAGE"'

(例)

  • 1
  • 2
  • 3
kaito@demo:~$ export MY_MESSAGE="こんにちは"
kaito@demo:~$ bash -c 'echo "子どものシェル:$MY_MESSAGE"'
子どものシェル:こんにちは

Python のスクリプトや、次の記事で作るシェルスクリプトに値を渡したいときは、export が必要です。


ターミナルを閉じると消える

ここで一度ターミナルを閉じて、新しく開き直してください(WSL ならウィンドウを閉じて開き直し)。そして、さっきのコマンドを打ってみます。

  • 1
  • 2
echo $MY_MESSAGE
hello-kaito

(例)

  • 1
  • 2
  • 3
  • 4
kaito@demo:~$ echo $MY_MESSAGE

kaito@demo:~$ hello-kaito
-bash: hello-kaito: command not found

echo $MY_MESSAGE は、何も表示されずに空の行になりました。

export で作った設定は、そのターミナルを閉じると消えてしまいます。毎回使いたい設定は、次の .bashrc に書いておきます。


.bashrc に書いて、毎回使えるようにする

~/.bashrc は、ターミナルを開くたびに自動で読まれる設定ファイルです。名前が . で始まるので、ふつうの ls では見えません。まず、必ずコピーを取ってから編集します。

  • 1
  • 2
  • 3
  • 4
cd ~
ls -a | grep bashrc
cp ~/.bashrc ~/.bashrc.bak
ls -l ~/.bashrc ~/.bashrc.bak

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
kaito@demo:~$ cd ~
kaito@demo:~$ ls -a | grep bashrc
.bashrc
kaito@demo:~$ cp ~/.bashrc ~/.bashrc.bak
kaito@demo:~$ ls -l ~/.bashrc ~/.bashrc.bak
-rw-r--r-- 1 kaito kaito 3526 Nov  1 02:41 /home/kaito/.bashrc
-rw-r--r-- 1 kaito kaito 3526 Nov  1 02:53 /home/kaito/.bashrc.bak

nano で開いて、いちばん下に次の2行を書き足し、保存して閉じます(Ctrl + O → Enter → Ctrl + X)。

  • 1
nano ~/.bashrc

書き足す2行:

  • 1
  • 2
# 練習用:自分のコマンド置き場を PATH に足す
export PATH="$HOME/linux-practice/bin:$PATH"

保存したら、tail で書き足せたか確かめて、source で読み直します。

  • 1
  • 2
  • 3
tail -3 ~/.bashrc
source ~/.bashrc
hello-kaito

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
kaito@demo:~$ tail -3 ~/.bashrc
fi
# 練習用:自分のコマンド置き場を PATH に足す
export PATH="$HOME/linux-practice/bin:$PATH"
kaito@demo:~$ source ~/.bashrc
kaito@demo:~$ hello-kaito
kaito のコマンドが動きました

source は「今のシェルで、このファイルを読み直して」という意味です。ターミナルを開き直しても、今度は hello-kaito が動くはずです。

💡
.bashrc がおかしくなったら、コピーから戻す

書き間違えて、ターミナルを開くたびにエラーが出るようになったら、cp ~/.bashrc.bak ~/.bashrc で元に戻せます。.bashrc にはもともと大事な設定が書かれているので、> で書き込んで中身を消さないように、編集は nano で行うのがおすすめです。


alias:コマンドにあだ名をつける

よく使う長いコマンドには、alias で短いあだ名をつけられます。

  • 1
  • 2
  • 3
alias ll='ls -alF'
ll ~/linux-practice
type ll

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
kaito@demo:~$ alias ll='ls -alF'
kaito@demo:~$ ll ~/linux-practice
total 44
drwxrwxr-x 11 kaito kaito 4096 Nov  1 02:53 ./
drwx------  4 kaito kaito 4096 Nov  1 02:54 ../
drwxrwxr-x  5 kaito kaito 4096 Nov  1 02:12 archive-test/
drwxrwxr-x  2 kaito kaito 4096 Nov  1 02:53 bin/
drwxrwxr-x  2 kaito kaito 4096 Nov  1 02:09 chmod-test/
drwxrwxr-x  2 kaito kaito 4096 Nov  1 02:34 edit-test/
drwxrwxr-x  5 kaito kaito 4096 Nov  1 02:10 find-test/
drwxrwxr-x  3 kaito kaito 4096 Nov  1 02:10 grep-test/
drwxrwxr-x  2 kaito kaito 4096 Nov  1 02:08 link-test/
drwxrwxr-x  3 kaito kaito 4096 Nov  1 02:08 perm-test/
drwxrwxr-x  2 kaito kaito 4096 Nov  1 02:11 redirect-test/
kaito@demo:~$ type ll
ll is aliased to `ls -alF'

今設定されている alias の一覧は、alias だけで見られます。

  • 1
alias

(例)

  • 1
  • 2
  • 3
kaito@demo:~$ alias
alias ll='ls -alF'
alias ls='ls --color=auto'

Debian 13 の初期設定で入っていた alias は、ls に色をつける alias ls='ls --color=auto' だけでした。

あだ名を外すときは unalias です。

  • 1
  • 2
unalias ll
ll

(例)

  • 1
  • 2
  • 3
kaito@demo:~$ unalias ll
kaito@demo:~$ ll
-bash: ll: command not found

日本語の環境では -bash: ll: コマンドが見つかりません と表示されます。

alias も、.bashrc に書いておけば毎回使えます。Debian の .bashrc には、ll・la・l の3つが、#alias ll='ls -l' のように先頭に # がついた見本として入っています(# がついているので、そのままでは使えません)。# を消すだけで使えるようになるので、nano で探してみてください。

🚫
よく使うコマンドの名前で alias を作らない(文章だけで説明します)

alias rm='rm -rf' や alias cd='…' のように、もとからあるコマンドの名前を上書きする alias は、思わぬ削除や混乱のもとになります。特に、ネットで見つけた .bashrc の設定を中身を読まずにまるごと貼るのは危険です。この記事では試しません。あだ名は ll のように、もとからない名前でつけましょう。


後片づけ:練習の設定を戻す

練習で足した PATH の行は、このあとの記事でも使えますが、元に戻したい場合はコピーから戻します。

  • 1
  • 2
  • 3
cp ~/.bashrc.bak ~/.bashrc
source ~/.bashrc
tail -3 ~/.bashrc

(例)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
kaito@demo:~$ cp ~/.bashrc.bak ~/.bashrc
kaito@demo:~$ source ~/.bashrc
kaito@demo:~$ tail -3 ~/.bashrc
    . /etc/bash_completion
  fi
fi

ただし、source しても、今のターミナルの PATH には練習の場所が残っています。ターミナルを開き直すと、すっきり元どおりになります。

🤖 詰まったらAIに聞こう:「command not found」が直らない

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Linuxの初心者です。コマンドを打つと「command not found」と出ます。
原因として考えられることと、確かめる順番を教えてください。
PATH を直す必要がある場合は、今の設定を消さない書き方でお願いします。

【使っている環境】WSLのUbuntu など
【打ったコマンド】ここに貼る
【表示されたエラー】ここに貼る
【which の結果】ここに貼る
【echo $PATH の結果】ここに貼る
【.bashrc に自分で書き足した行(秘密情報は***に置き換え済み)】ここに貼る

🔒
AIに貼る前に:秘密情報やパスワードは貼らない

printenv の結果や .bashrc には、APIキー、トークン、パスワードを入れた行がまざっていることがあります。export OPENAI_API_KEY=… のような行は、キーの部分を必ず「***」に置き換えてから貼ってください。.bashrc をまるごと貼るのではなく、関係する行だけを選んで貼るのがおすすめです。


よくある質問

Q. コマンドを別のフォルダに移したら、No such file or directory と出るようになりました。

bash は、一度見つけたコマンドの場所を覚えておくしくみ(ハッシュ)を持っています。前の場所を覚えたままだと、移したあとも古い場所を探しにいってしまいます。hash -r と打って覚えている場所を消すか、ターミナルを開き直すと、PATH から探し直してくれます。

Q. pipx などで入れたコマンドが「command not found」になります。

pipx は、Python のコマンドを入れる道具です。こうした道具は、コマンドをホームの中の ~/.local/bin に置くことが多いです。Debian や Ubuntu では、~/.local/bin があればログインしたときに PATH へ足す設定が、最初から ~/.profile に書かれています。フォルダができたあとに一度ログインし直す(WSL ならウィンドウを全部閉じて開き直す)と、見つかるようになることがあります。

Q. .bashrc と .profile は、どう違うのですか?

.profile はログインしたときに1回読まれるファイル、.bashrc は bash を開くたびに読まれるファイルです。Debian や Ubuntu では、.profile の中から .bashrc も読むように書かれているので、初心者のうちは「自分の設定は .bashrc に書く」と覚えておけば大丈夫です。

Q. sudo をつけると、自分で足した場所のコマンドが見つかりません。

sudo は、許可されたユーザーが、そのコマンドだけを管理者(root)の権限で動かすためのしくみです。安全のために、決まった PATH(/usr/bin など)でコマンドを探して動かします。そのため、~/linux-practice/bin のように自分で足した場所は探されません。sudo で動かす必要があるときは、sudo /home/kaito/linux-practice/bin/hello-kaito のように、場所つきで書きます。


まとめ

  • 環境変数は、シェルが覚えていて、動かすプログラムにも渡す名前つきのメモ。$名前 で取り出す
  • コマンドは、PATH に書かれた場所からしか探されない。今いる場所は探さない
  • PATH に足すときは export PATH="足す場所:$PATH"。:$PATH を忘れない
  • export をつけると、そのあと動かすプログラムにも値が渡る
  • 毎回使う設定は ~/.bashrc に書き、source で読み直す。編集の前にコピーを取る
  • alias でコマンドにあだ名をつけられる。もとからある名前は使わない

次の記事では、いつもの手順を1つのファイルにまとめるシェルスクリプトを作ります。今回の ~/linux-practice/bin のしくみが、そのまま役に立ちます。


次に読む記事


関連する記事