Цикл For не может различить * синтаксис

set -x 
for f in ~/1/2/*/*_1.txt; do
subdir="${f%/*}"
pushd "$subdir" &>/dev/null
file="${f##*/}"

expTool INPUT1= "${f##*/}" INPUT2= "${f%_1.txt}_2.txt OUTPUT1= "${f%_1.txt}_3.txt" OUTPUT2= "${f%_2.txt}_4.txt"
done

expTool error: [Errno 2] No such file or directory: '*_1.txt'

Я вычитал расценки, но это не помогло.

РЕДАКТИРОВАТЬ: с помощью set -x

+for f in '/User/admin/1/2/*/*_1.txt'
+subdir='/User/admin/1/2/*'
+pushd '/User/admin/1/2/*'
+file='*_1.txt'
+expTool INPUT= '*_1.txt' OUTPUT= '${f%_1.txt}_2.txt'

Похоже, что синтаксис '*' не регистрируется как подстановочный знак (?). Я использую Mac OSX 10.8.6.

0
05.02.2016, 23:41
0 ответов

Теги

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