問題:
sl
をインストールしましたが、コマンドラインでsl
と入力すると、次のようになります。
bash: sl: command not found
(root@Host)-(03:55:38)-(/home/user)
$apt install sl
Reading package lists... Done
Building dependency tree
Reading state information... Done
sl is already the newest version (3.03-17+b2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Slは、誤って「sl」と入力した場合に修正することを目的としたアニメーションを表示できるプログラムです。 SLは蒸気機関車の略です。 Debianパッケージのパッケージ
抜粋:
Slソフトウェアをインストールして蒸気機関車を入手する(シェルで訓練する)
Debian
/Ubuntu Linuxで次のapt-getコマンド/ aptコマンドを入力します。
$ Sudo apt-get install sl
使用法
さて、lsコマンドをslと間違えただけです:
$ sl
(root@Host)-(03:57:47)-(/home/user)
$cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
(root@Host)-(04:04:01)-(/home/user)
$bash -version
GNU bash, version 4.4.12(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
質問:
ここで何が起こっていますか、機関車はどこにありますか?
root
として実行している場合(apt
を直接実行したためと思われます)、PATH
はデフォルトで/usr/local/games
と/usr/games
を除外します。 /etc/profile
:
if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
fi
export PATH
sl
はたまたま/usr/games
にあります。