Я видел этот вопрос: выполнение Паузы и ожидает ввода данных пользователем, но моя проблема отличается.
У меня есть Команда:
google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless --client-secrets src/.config/client_secret_71131800372-dop7miagipbqink2ecnr33so61q3li0t.apps.googleusercontent.com.json
Эта команда предоставляет ссылку, и мы получаем код авторизации на той ссылке. Эта команда ожидает, пока мы не вводим тот код авторизации на терминале и после ввода кода авторизации, последующая обработка происходит.
Вывод этой команды следующим образом:
Please visit this URL to authorize this application:
https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=71131800372-dop7miagipbqink2ecnr33so61q3li0t.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fassistant-sdk-prototype&state=jFHZmMINesXNFbPNR6ZeJcuDVzpmYq&prompt=consent&access_type=offline
Enter the authorization code:
Теперь, Если я пишу эту команду в сценарии удара, названном script.sh, и выполняю тот сценарий, затем это не ожидает ввода данных пользователем кода авторизации, и последующая обработка происходит.
Я хочу это, это должно ожидать кода авторизации при выполнении в сценарии удара.
Как я могу сделать это??
можно использовать read
управляйте для чтения из STDIN
.
read -n NUM -p "Enter the authorization code:" VAR
ЦИФРА: количество символов для чтения из STDIN
VAR: переменная для сохранения входа
если Вы не знаете количество символов или хотите считать неограниченные символы из STDIN
, можно удалить -n NUM
. это вызывает read
управляйте к законченному, ВВОДЯТ и сохраняют результат (код авторизации) к $VAR
.