Это можно сделать без ключей SSL, используя mitmproxy :
8080
(по умолчанию) mitm.it
. Коснитесь логотипа Android и установите сертификат для «VPN и приложений». for x in ./*; do
case $x in
*".a" ) echo "$x";;
esac
done
Конструкция [
не совсем точная подходит для этого. Но если вы настаиваете, мы можем сделать это следующим образом:
[ '.a' = ".${x##*.}" ]
Скажем, $ x содержит: my.file.testing.a
Тогда $ {x ## *.}
, начиная слева, снимет столько, сколько сможет, до последнего .
удается увидеть в $ x
. IOW, мы в конечном итоге отбрасываем все и выводим на первый план расширение
, а именно, a
. Итак, теперь у нас есть расширение, которое мы только что вычислили, чтобы сравнить с тем, что, по нашему мнению, было бы лучше ( .a
) для достижения успеха.
В ответе, на который вы ссылаетесь в своем вопросе, используется расширенный синтаксис проверки bash (двойная скобка), тогда как вы пытаетесь использовать оператор проверки POSIX с одной скобкой. Разница в том, что в тесте с двойными скобками правая часть ==
рассматривается как шаблон, а не подвергается разбиению на слова или расширению glob. Таким образом, если [ $f == *.a ]
приводит к ошибке [: слишком много аргументов
, вы можете сделать
for f in *; do if [[ $f == *.a ]]; then echo "$f"; fi; done
или (более компактно)
for f in *; do [[ $f == *.a ]] && echo "$f"; done
Альтернативно, поскольку вы, похоже, используете bash
, вы можете использовать оператор =~
регулярного выражения e. например,
for f in *; do if [[ $f =~ \.a$ ]]; then echo "$f"; fi; done
или (более компактно)
for f in *; do [[ $f =~ \.a$ ]] && echo "$f"; done
хотя в данном случае это излишество.