Существует как минимум 3 возможных способа вызова скрипта bash:
:~$./myscript
:~$bash ./myscript
:~$bash -c "./myscript"
Один из них сказал, что в случае вызова № 3 (опция -c
) в иерархии есть еще один процесс bash. Я подготовил простой тестовый скрипт:
echo "SHLVL: $SHLVL"
ps aux | grep bash
Переменная SHLVL
действительно больше на единицу в случае # 3, но ps
не выводит никакого дополнительного процесса bash в случае # 3. Единственный процесс bash, связанный со сценарием
bin/bash ./testscript
Так где же этот дополнительный процесс bash?