Existe um subshell criado quando executo `sh -c“ command ”`, um novo shell ou nenhum dele

No bash, quando executo o seguinte comando:

sh -c "command"

é criado um subshell e depois ocommand É executado

Meu palpite é que o comando será executado no shell atual, mas não tenho certeza. Esse palpite vem do fato de eu já ter testado usando os seguintes comandos:

echo $BASHPID, $BASH_SUBSHELL

sh -c "echo $BASHPID, $BASH_SUBSHELL"

e os resultados são os mesmos. Mas isso pode ser um pouco enganador, como alguém me disse, porque as variáveis podem ser substituídas antes que o comando seja executado. Isso é verdade?

questionAnswers(7)

yourAnswerToTheQuestion