ps命令未在主目录中提供输出

Sri*_*nth 6 solaris ps path

我正在登录solaris服务器,切换到bash,然后切换到另一个用户“sruser”并切换到bash。

/home/batch/sruser/ 是用户“sruser”的主目录。

问题是 ps 在主目录中运行时没有给出任何输出 -

# pwd
 /home/batch/sruser/
# ps
# cd dir1
 /home/batch/sruser/dir1
# ps 
   PID TTY      TIME CMD
 17867 pts/1789 0:00 bash
 17165 pts/1789 0:00 ksh
 20435 pts/1789 0:00 ps
#
Run Code Online (Sandbox Code Playgroud)

不知道可能是什么问题。甚至不知道从哪里开始寻找可能存在的问题。

Sri*_*nth 9

$PATHhas .(cwd) 并且ps在主目录中有一个具有可执行权限的文件。

# ls -lrt *ps*
-rwxrw-r--   1 sruser  batch          0 Jun 2 2010 ps
# type ps
ps is hashed (./ps)
# which ps
./ps
Run Code Online (Sandbox Code Playgroud)

因此该命令没有给出任何输出。

  • 无论如何,拥有 . 在您的 PATH 中作为 root 是一种糟糕的做法,但在标准 /bin、/usr/bin、sbin 目录之前使用它是非常自杀的。 (5认同)
  • 请注意,在 `$PATH` 中包含当前目录的更传统方法是使用空字符串。`PATH=/bin:` 最后是当前目录,`PATH=:/bin:/usr/bin` 首先是当前目录。顺便说一句,当 `PATH` 未设置时,后者是 GNU/Linux 系统上的默认 `$PATH` (!)(对于 `execvp`、`env`...)。 (4认同)