Сценарий оболочки Linux дублируется в списке процессов

Если вы хотите обнаруживать только цифры (, а не другие типы символов ), вам следует использовать простое регулярное выражение.

[[ ${numbers} =~ ^([[:digit:]]) ]] && var=${BASH_REMATCH[1]}

В $var есть цифра или она пуста (даже не объявлена ​​).

0
16.03.2020, 23:04
1 ответ

Ваш скрипт что-то делает внутри подоболочек. Пример:

#!/usr/bin/env bash

sleep 10
echo outer done
#!/usr/bin/env bash

(sleep 10; echo inner done)
echo outer done

Если вы запустите первый из них, подоболочки не будет, поэтому вы увидите только один из них в списке процессов. Если вы запустите второй из них, у вас будет подоболочка, поэтому он разветвится, и вы увидите два из них в списке процессов. (Если вы хотите получить более подробную информацию о вашей конкретной ситуации, опубликуйте полное содержание вашего скрипта в вопросе.)

1
28.04.2021, 23:20

Теги

Похожие вопросы