curl с переменными в сценарии bash

Похоже, вы неверно истолковываете одинарные и обратные кавычки как в командах, которые вы вводите, так и в своем вопросе. (Вроде типично для пользователей Apple).

Клавиатура с обратной кавычкой (под тильдой ~ на qwerty в США) отличается от клавиатуры ', и если вы сделаете

`ssh://git@192.168.1.8:/var/opt/repo-demo.git`

, обратные кавычки заставят это выполнить, как если бы вы поместите $ () вокруг этого выражения. Поскольку bash не может выполнить это выражение, он вернет «Нет такого файла или каталога», и git remote add origin завершится ошибкой. Дважды проверьте файл .git / config и обновите его вручную.

Будьте осторожны с использованием несоответствующих кавычек, особенно в командной строке Ubuntu (но, конечно, также при написании не )

5
13.04.2018, 00:14
1 ответ

Вы не можете использовать одинарные кавычки для своих переменных. Это заставит bash не интерпретировать специальный символ $. Вместо этого вы можете использовать двойные кавычки.http://tldp.org/LDP/abs/html/quoting.html

РЕДАКТИРОВАТЬ

Теперь я понимаю, что вы закрываете все свои одинарные кавычки до и -открываете их после ваших переменных, но переменные по-прежнему, вероятно, читаются неправильно, потому что они не заключены в кавычки. Я не уверен, что вам вообще нужно заключать в одну кавычку все в этой команде, но если вы это сделаете, вы все равно можете поместить свои двойные кавычки, как показано ниже:

Измените линию:

curl -s -H 'Host: flex-capacity-na.amazon.com' -H 'Cookie: session-token='$ses_t'' -H 'x-amz-access-token: '$amz_t'' -H 'x-flex-instance-id: '$flx_id'' -H 'Accept: */*' -H 'User-Agent: iOS/10.2.2 (iPhone Darwin) Model/iPhone Platform/iPhone6,1 RabbitiOS/2.0.141' -H 'Accept-Language: en-us' --compressed 'https://flex-capacity-na.amazon.com/GetOffersForProvider?serviceAreaIds=122' >> output.txt

К:

curl -s -H 'Host: flex-capacity-na.amazon.com' -H 'Cookie: session-token='"$ses_t" -H 'x-amz-access-token: '"$amz_t" -H 'x-flex-instance-id: '"$flx_id" -H 'Accept: */*' -H 'User-Agent: iOS/10.2.2 (iPhone Darwin) Model/iPhone Platform/iPhone6,1 RabbitiOS/2.0.141' -H 'Accept-Language: en-us' --compressed 'https://flex-capacity-na.amazon.com/GetOffersForProvider?serviceAreaIds=122' >> output.txt

Но я думаю, что это тоже сработает:

curl -s -H 'Host: flex-capacity-na.amazon.com' -H "Cookie: session-token=$ses_t" -H "x-amz-access-token: $amz_t" -H "x-flex-instance-id: $flx_id" -H 'Accept: */*' -H 'User-Agent: iOS/10.2.2 (iPhone Darwin) Model/iPhone Platform/iPhone6,1 RabbitiOS/2.0.141' -H 'Accept-Language: en-us' --compressed 'https://flex-capacity-na.amazon.com/GetOffersForProvider?serviceAreaIds=122' >> output.txt
3
27.01.2020, 20:34

Теги

Похожие вопросы