Se eu executar este comando em um script, ele não produzirá saída, exceto o cabeçalho do ps
:
# Taken from Advanced Bash Usage on youtube:
echo "$(echo "$(echo "$(echo "$(ps wwf -s $$)")")")"
Esta é a saída:
$./testing.bash
PID TTY STAT TIME COMMAND
mas aqui ele é executado em um terminal que produz a saída esperada :
$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
PERGUNTA:
Você pode explicar a diferença e me mostrar a maneira correta de fazer isso?
Já tentei muitas coisas e pesquisei no google por 4 horas, se precisar posso listar o que tentei mas acho que não é relevante aqui.
$echo $SHELL
/bin/bash
e:
$head -1 testing.bash
#!/bin/bash