Функция, которая вызывает другую функцию со списком аргументов, не работает

Среднее число загрузки является вычислением среднего количества процессов, выполнимая очередь ЦП. Наличие высокого среднего числа загрузки не обязательно означает высокое использование ЦП, так как процессы могли ожидать на вводе-выводе. Более высокие должные загрузки требуют, чтобы ЦП сделал больше контекстного переключения.

6
10.11.2014, 21:04
1 ответ

Ваша проблема - это вторая GREP :

... | grep "$file_names"

при вызове Ваша функция, пространство между -N и именем файла ( -N Page1.cshtml ) входит в массив $ file_NAMES . Затем замена:

file_names=${file_names// /':\|'}:

добавит дополнительный : \ | в начале строки из-за ведущего пространства. Таким образом, ваша вторая команда GREP - это на самом деле:

... | grep ":\|page1.cshtml:\|page2.cshtml:\|page3.cshtml:"

в результате GREP совпадает все линии , поскольку все линии результата будут включать имя файла: И это соответствует : .

Итак, простое решение было бы удаление пробелов:

file_names=( "-npage1.cshtml" "-npage2.cshtml" "-npage3.cshtml" )

все должно работать, как ожидалось.

6
27.01.2020, 20:28

Теги

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