У меня есть переменная со списком путей, разделенных пробелами. Мне нужно отправить эти пути в программу в качестве такого параметра script.sh -i /dir1 -i /dir2
. Как лучше всего создать такой список параметров? Что-то вроде $(echo "$paths" | sed 's|\([^[:space:]]\+\)|-i \1|g)
будет работать, но его невозможно прочитать, учитывая тот факт, что он является частью make-файла.
list="one two three"
for i in $list; do params="$params -i $i"; done
script.sh $params
У вас будут проблемы с путями с пробелами, используя :
как разделитель путей лучше
использовать массивы bash
paths="/dir1 /dir2"
params=()
for path in $paths; do params+=( -i $path ); done
script.sh "${params[@]}"