Для этого нужно понимать основы регулярных выражений. Модификатор *
не означает 'все', как это часто предполагается. Звездочка имеет такое значение в shell, но это что-то другое, не regex. *
означает: взять предыдущий символ (или группу символов, если перед ним стоит []
группа) и попытаться найти ему соответствие от нуля до неограниченного числа вхождений.
Итак, что вы проверяете с помощью myapp_*.jar
, так это наличие в списке процессов любого из следующих символов:
myapp.jar myapp_.jar myapp__.jar myapp___.jar ...
Видите, что я имею в виду? Это никак не совпадает с 'myapp_v.01.jar'. Если вы хотите подобрать любой символ, вам понадобится .
. Так что ваш regex для pkill
может быть таким: myapp_*.*.jar
Неважно, я заставил это работать -кажется, вам нужно указать [HT40 -] в конфигурации hostapd, а также верхний номер канала 20 МГц, который объединяется для создания канала 40 МГц.