Переменные в cURL

#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. другой токен, на случай, если вам нужно было сохранить более одного токена