Я пытаюсь передать шаблон с кавычками, чтобы найти команду в скрипте, используя переменную.Не работает без Eval.Это способ сделать это без eval?
Сначала я использую команду followin:
find . -name '*a*'
Она работает нормально и выдает следующий вывод:
./AaA
./dir1/aaa.tst
./dir1/zabc1122333.tst
./dir2/dir3/zabc1122333.tst
./yyy/AaA
./zabc1122333.tst
Теперь я хочу использовать переменную вместо цитируемого шаблона глобуса ' a '.
Это не работает:
A='*a*' ; find . -name $A
Это производит:
find: zabc1122333.tst: unknown primary or operator
Следующие четыре команды также не работают.Они ничего не производят:
A="'*a*'" ; find . -name $A
A=\'\*a\*\' ; find . -name $A
A=\'*a*\' ; find . -name $A
A='\*a\*' ; find . -name $A
Наконец-то это работает с eval:
A=\'\*a\*\' ; eval find . -name $A
./AaA
./dir1/aaa.tst
./dir1/zabc1122333.tst
./dir2/dir3/zabc1122333.tst
./yyy/AaA
./zabc1122333.tst
Возможно ли это сделать без eval?