@Кейт,@chrisparker2000: я принял ваши ответы на комментарии. Я понимаю ваши позиции, но ОП Штатов в его вопросе, что он не заботится о потере данных. Поэтому в данном случае, посты действительно комментарии, а не ответы на вопрос. Это был единственный ответ, который говорил как продать/купить программное обеспечение/как ученый - косвенно через рекламу :( Это действительно был не тот ответ, который я ищу, но я предполагаю, что его что-то. Я обнаружил, что это будет длиться почти бесконечно долго (не менее часа), в основном, пока я делаю `ЛС`. На actimeo мой сервер не указан в моем файле fstab, так что я предполагаю, что это по умолчанию 60 секунд, однако я вижу, отстает более чем на час. Я полагаю, я могу просто сделать быстрый список каталогов в мой PHP-код `$ТЭМП = \`ЛС/.файлы/\`;` Правда, я обновил мой ответ. Нет доступа к/dev/stdin с` с `Баш` (специально) на самом деле использовать устройство в каталоге/dev или не использовать `Баш`с собственной встроенной/виртуального устройства?

Я пытаюсь фильтр один массив из другого массива. То есть, я пытаюсь создать третий массив с логической не-перекрестке.

Лучшее, что я могу сказать, Похоже, что этот блок кода не совпадает, и нашли , остается низким:

нашли=0
...

если [ "$флаг" = "$фильтруют" ]; затем
нашли=1
интернет

Я попытался с помощью == с тем же результатом. Я тоже пробовала х трюк, но это не работает (это даже здесь?): если [ "Х$флаг" = "х$фильтруют" ].

Я ограничен Баш 3. Я использую bash-потому что я немного знаю его. Я ограничен 3, потому что скрипт работает на ОС Х тоже. Потому что Баш 3, я думаю, мне не хватает многих полезных функций, как всех HashMap.

Почему строки не совпадают?


Вот соответствующий фрагмент. CXXFLAGS может быть установлен Пользователем в его/ее окружающей среды. Я пытаюсь удалить флаги, что мы явно тест в наш тестовый скрипт, как -DDEBUG, -DNDEBUGи оптимизации как -О0 и О1.

Предпочтительный флаги # уважение пользователей, но фильтр то тест expliclty 
FILTERED_CXXFLAGS=("-DDEBUG", "-DNDEBUG", "-О0", "О1", "-О2", "-О3", "ОС", "-ов")
# Дополнительные CXXFLAGS мы не фильтр
RETAINED_CXXFLAGS=("")

если [ ! -з "CXXFLAGS" ]; затем
 TEMP_CXXFLAGS=$(Эхо "$CXXFLAGS" | е с/\([[:пробел:]]*=[[:пробел:]]*\)/=/г')
 ИФС=' ' читать -р-а TEMP_ARRAY <<< "$TEMP_CXXFLAGS"

 для флага в "${TEMP_ARRAY[@]}"
делать
 Эхо "флаг: $флаг"
нашли=0
 для отфильтрованных в "${FILTERED_CXXFLAGS[@]}"
делать
 Эхо "отфильтровано: $фильтруют"
 если [ "$флаг" = "$фильтруют" ]; затем
 Эхо "найдено: $флаг"
нашли=1
интернет
сделано
 Эхо "найдено: $нашли"
 если [ "$нашли" -эквалайзер "0" ]; затем
 Эхо "сохраняя $флаг"
RETAINED_CXXFLAGS+=($ТЭМП)
еще
 Эхо "выкидывание $ТЭМП"
интернет
сделано
интернет

Вот трассировка с эхо на месте. Тестовых данных был просто экспортировать CXXFLAGS="-DNDEBUG -Г2 -О3 -МФПУ=неон"

Флаг: -DNDEBUG
Отфильтровано: -DDEBUG,
Отфильтровано: -DNDEBUG,
Отфильтровано: -О0,
Отфильтровано: -О1,
Отфильтровано: -О2
Отфильтровано: -О3,
Отфильтровано: -ОС
Отфильтровано: -ОГА
Найдено: 0
Сохранение -DNDEBUG
Флаг: -Г2
Отфильтровано: -DDEBUG,
Отфильтровано: -DNDEBUG,
Отфильтровано: -О0,
Отфильтровано: -О1,
Отфильтровано: -О2
Отфильтровано: -О3,
Отфильтровано: -ОС
Отфильтровано: -ОГА
Найдено: 0
Сохранение -Г2
Флаг: -О3
Отфильтровано: -DDEBUG,
Отфильтровано: -DNDEBUG,
Отфильтровано: -О0,
Отфильтровано: -О1,
Отфильтровано: -О2
Отфильтровано: -О3,
Отфильтровано: -ОС
Отфильтровано: -ОГА
Найдено: 0
Сохранение -О3
Флаг: -МФПУ=неон
Отфильтровано: -DDEBUG,
Отфильтровано: -DNDEBUG,
Отфильтровано: -О0,
Отфильтровано: -О1,
Отфильтровано: -О2
Отфильтровано: -О3,
Отфильтровано: -ОС
Отфильтровано: -ОГА
Найдено: 0
Сохранение -МФПУ=неон