#linux #bash #variables #curl #gnuwin32
#linux #bash #переменные #curl #gnuwin32
Вопрос:
Как вы все знаете, токены могут быть очень длинными строками, и копировать их снова и снова становится проблематично.
Как я могу сохранить строку токена в качестве переменной и вызывать ее, когда мне это нужно в cURL
пример
токен: «ABCDefG»
Я хочу иметь возможность вызывать что-то вроде:
curl -L --silent --header "Authorization: GoogleLogin auth=${token}"
Ответ №1:
Внутри скрипта bash вы не можете поместить токен в переменную, например, так:
#!/bin/bash
token="ABCDef"
curl -L --silent --header "Authorization: GoogleLogin auth=$token"
Теперь в скрипте bash всякий раз, когда вам нужно использовать токен, вам просто нужно использовать переменную "$token"
(не забудьте заключить переменную в двойные кавычки).
Или вы могли бы установить переменную среды:
export token=ABCDef
но это не элегантное решение
Комментарии:
1. Вы говорите » (не забудьте заключить переменную в двойные кавычки)». но вы не делаете этого в примере curl, который вы привели.
Ответ №2:
Вы могли бы сохранить токен в массиве
tokens=("ABCDeF" "ASDFGh")
Затем, когда вы захотите их вызвать, используйте
curl -L --silent --header "Authorization: GoogleLogin auth=${tokens[0]}"
И если вы хотите добавить токен, вы можете
tokens =("qwerty")
Комментарии:
1. Похоже, что это сработает, спасибо! Куда бы делся массив с точки зрения значимости скрипта?
2. Массив может находиться где угодно, если он задан до вызова curl, в противном случае для ${tokens[0]} не будет значения.
3. другой токен, на случай, если вам нужно было сохранить более одного токена