Я пишу сценарий оболочки, чтобы помочь мне работать с собственным реактивным проектом, мой сценарий состоит из следующих частей:
#some steps to create $calculated_value...
os_type=$1
shift
script="$calculated_value react-native run-$os_type $@"
$script
Когда я набираю эту команду в терминале:
./scripts/run ios --simulator="iPhone 6"
Я ожидаю, что сценарий должен выполнить следующую команду в конце:
"$calculated_value" react-native run-ios --simulator="iPhone 6"
Однако сценарии теперь выполняют эту команду:
"$calculated_value" react-native run-ios --simulator=iPhone 6
, двойные кавычки которой исчезли,и терминал только что прочитал симулятор без «6».
Я пытался заменить $@
на $(for i;do echo ${i@Q};done;)
, но он выдает ошибку: line 25: ${i@Q}: bad substitution
Я знаю, что могу добавить \
перед двойными кавычками, чтобы избежать его
, но просто хочу посмотреть, есть ли какие-нибудь решения, которые я могу сделать, чтобы пропустить добавление \
.