Чтобы проверить строку на соответствие шаблону 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
Самый простой способ:
while read i; do echo "$i"; done < cmake_command