Играя с сценариями оболочки makefile и bash, я получил переменную, содержащую:
build_ext --b2-args=libtorrent-python-pic=on --b2-args=address-model=32
Мне нужно добавить --global-option=
и добавить двойные кавычки в нужном месте, например:
--global-option=build_ext --global-option=--b2-args = "libtorrent-python-pic=on" --global-option=--b2-args = "address-model=32"
Обратите внимание, что --b2-args=
варьируется и не может восприниматься как должное.
До сих пор то, что я делал для добавления, использовало массив bash:
printf "\x2D\x2Dglobal-option=%s " "${myarray[@]}"
Но я бы предпочел вместо этого использовать однострочный sed
.
Используя любой sed:
$ sed 's/=\([^ ]*\)/ = "\1"/g; s/[^ ]*/--global-option=&/g' file
--global-option=build_ext --global-option=--b2-args = "libtorrent-python-pic=on" --global-option=--b2-args = "address-model=32"