У меня проблема с скриптом bash и вам нужно попросить о помощи. Сценарий следующий:Bash script double quote
#!/bin/bash
config_options="CFLAGS=\"-Wall -pipe\""
./configure --prefix=$PWD/install $config_options
Если я использую запустить этот сценарий, я получил ошибку «непризнанный вариант -pipe». Однако, если я непосредственно использую следующую команду, она работает.
./configure --prefix=$PWD/install CFLAGS="-Wall -pipe"
Я понимаю, что эта команда и сценарий Баш точно так же, так как я уже положил побег символ \ перед». Я не знаю, почему этот сценарий дал ошибку.
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация
Благодаря
Рекомендуемое чтение: http://mywiki.wooledge.org/BashFAQ/050 –
Ваше понимание неверное. Кавычки в 'config_options' не защищают пробелы между' -Wall' и '-pipe'; они рассматриваются как буквальные чартеры в строке. В результате «configure» видит два отдельных аргумента «CFLAGS =» - Wall' и '-pipe». – chepner