Problem: in my script I need to do some operations on a list of files stored in a file. I can’t use the ‘while read’ loop because I do these operations on a variable that may or may not be a list of files depending on some condition.
Without variable there is a simple method, e.g.
|
cp {file1,file2,file3} /some/folder |
but if I do something like
|
myvar="{file1,file2,file3}"; cp $myvar /some/folder |
- this won’t work.
The solution is using an array:
|
myvar=( file1 file2 file3 ); cp ${myvar[*]} /some/folder |
This works!
Проблема: в моем скрипте нужно проделать некоторые операции над списком файлов, хранящимся в файле. Я не могу использовать цикл ‘while read’, потому что на самом деле операции эти надо производить над переменной, которая может принимать этот список в виде значения, а может и не принимать, в зависимости от условий.
Без переменной это просто:
|
cp {file1,file2,file3} /some/folder |
но если я подставлю переменную:
|
myvar="{file1,file2,file3}"; cp $myvar /some/folder |
- это не работает.
Решение: использовать массив:
|
myvar=( file1 file2 file3 ); cp ${myvar[*]} /some/folder |
В таком виде работает!
Comment it: