如果我在脚本中运行此命令,它不会产生输出,除了来自以下的标头ps
:
# Taken from Advanced Bash Usage on youtube:
echo "$(echo "$(echo "$(echo "$(ps wwf -s $$)")")")"
这是输出:
$./testing.bash
PID TTY STAT TIME COMMAND
但在这里它在产生预期输出的终端中运行:
$echo "$(echo "$(echo "$(echo "$(ps wwf -s $$)")")")"
PID TTY STAT TIME COMMAND
18289 pts/4 Ss+ 0:00 /bin/bash
17917 pts/4 S+ 0:00 \_ /bin/bash
17918 pts/4 S+ 0:00 \_ /bin/bash
17919 pts/4 S+ 0:00 \_ /bin/bash
17920 pts/4 S+ 0:00 \_ /bin/bash
17921 pts/4 R+ 0:00 \_ ps wwf -s 18289
问题:
你能解释一下区别并告诉我正确的方法吗?
我已经尝试了很多东西并在 google 上搜索了 4 个小时,如果您需要我可以列出我尝试过的内容,但我认为这与这里无关。
$echo $SHELL
/bin/bash
和:
$head -1 testing.bash
#!/bin/bash