Если условие работает впервые, но не во второй раз

Я определил нижеследующее для и если условие в функции. Впервые он работает хорошо. Во второй раз он не запускается после цикла for, он просто пишет инструкцию echo. Почему он ведет себя так?

for outputFile in $outputFiles do echo"Output file is $outputFile" if [ $outputFile == sampple*.pdf ]; then FromFile=$OutputFilePath transferFiles fi done 

  • Как проверить, является ли файл символической ссылкой на каталог?
  • Я хочу сравнить два списка и распечатать вывод разности из списка 1
  • ksh, если с несколькими условиями
  • Трейлинг двоеточий и встроенная тестовая команда
  • Могу ли я поставить более одного условия, если?
  • никогда не используйте оператор `-a` или` -o` с `[`
  • Как проверить список прокси-серверов?
  • Если утверждение, дающее ответ «else» для обоих результатов cmp
  • One Solution collect form web for “Если условие работает впервые, но не во второй раз”

    Чтобы выполнить тест на строку с шаблоном globbing файла, используйте case :

     case "$outputFile" in sampple*.pdf) FromFile="$OutputFilePath" transferFiles ;; esac 

    Чтобы выполнить проверку строки на регулярное выражение в bash или ksh93 :

     if [[ "$outputFile" =~ ^sampple.*\.pdf$ ]]; then FromFile="$OutputFilePath" transferFiles fi 

    Обратите внимание на использование [[ ... ]] и =~ а не [ ... ] и == здесь.

    Конструкция [ ... ] обычно не поддерживает оператор == для сравнения строк.

    С помощью [[ ... ]] и == , правая часть берется как шаблон глобуса файла. Таким образом, следующее должно работать (в bash или ksh93 ):

     if [[ "$outputFile" == sampple*.pdf ]]; then # as before fi 
    Interesting Posts

    Круговая зависимость в обновлении версии Ubuntu

    logrotation – вращение и команда maxage

    ssh не удается найти «домашний каталог» (который существует и имеет разрешения), даже если локальный терминал регистрирует одного и того же пользователя в

    Что я должен делать с Python 2.7.9, не ищущим сертификатов SSL в нужном месте на FreeBSD?

    Возможно ли переключение рабочего пространства через Ctl + Alt + Arrow NON CYCLIC?

    tar не подчиняется –exclude-vcs

    var, показывающий его полную команду `df-h '

    Поиск последнего элемента в строке с использованием grep

    Как перенести правило ip и маршрут, когда сервер перезагружается?

    Что такое командный язык редактора ссылок AT & T?

    Двойные окна загрузки 8 и Linux Mint 13 (на основе Ubuntu 12.04)

    Чтение нескольких строк из текстовых файлов в bash

    ps aux | grep config vs ps aux | grep "confi "

    Объединение двух файлов, соответствующих двум столбцам с несоответствиями и в каждой соответствующей строке, замените второй столбец из файла 1 на 6-й столбец в файле 2

    Устройство считывания отпечатков пальцев Lenovo T440s в Fedora 20

    Linux и Unix - лучшая ОС в мире.