新しいUbuntu 16.04 Minimalシステムのセットアップ中に奇妙な問題が発生しました。を追加した後も少なくとも$HOME/bin
。$PATH
bash
root
何度もログアウトしてコンピュータを再起動したこともありました。パスは/etc/profile.d
:のスクリプト行によって設定されますexport PATH="$PATH:$HOME/bin"
。
root@Pioneer ~ # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/bin
root@Pioneer ~ # ls -la /root/bin
total 36
drwxr-xr-x 2 root root 4096 Feb 6 16:04 .
drwx------ 8 root root 4096 Feb 6 16:03 ..
-rwxr-xr-x 1 root root 174 Jan 5 2017 newuser
-rwxr-xr-x 1 root root 236 Nov 3 2015 own
-rwxr-xr-x 1 root root 87 May 6 2017 re-dns
-rwxr-xr-x 1 root root 57 May 10 2016 re-ftp
-rwxr-xr-x 1 root root 89 Oct 20 2015 re-mail
-rwxr-xr-x 1 root root 42 Oct 19 2015 re-smb
-rwxr-xr-x 1 root root 65 Oct 19 2015 re-web
root@Pioneer ~ # newuser
-bash: newuser: command not found
/root/bin/newuser
のように有効ですcd /root/bin && ./newuser
。
名前の後にスペースはありません。
# ls -lb /root/bin/newuser
-rwxr-xr-x 1 root root 174 Jan 5 2017 newuser
Rootの家は実際には次のとおりです/root
。
# getent passwd root
getent: root:x:0:0:root:/root:/bin/bash
答え1
ありがとうテデンヒントを見てみると、を使用してstrace -e stat bash -c "newuser" 2>&1 | grep /root/bin
設定ファイルスクリプトの閉じた引用符の前に表示されないキャリッジリターンが挿入され、実際のパスを削除して再/root/bin\r
入力したことがわかりました。今動作します。