В bash, когда я запускаю следующую команду:
sh -c "command"
создается подоболочка, а затем выполняется command
?
Я предполагаю, что команда будет запущена в текущей оболочке, но я не уверен. Это связано с тем, что я уже тестировал, используя следующие команды:
echo $BASHPID, $BASH_SUBSHELL
и
sh -c "echo $BASHPID, $BASH_SUBSHELL"
и результаты те же. Но это может немного ввести в заблуждение, поскольку кто-то сказал мне, потому что переменные могут быть заменены до выполнения команды. Это правда?