Я думаю, что то, что вы хотите достичь sh, может быть достигнуто одним из двух способов.
Во-первых, вы можете написать сценарий оболочки для обработки команд экспорта и передачи URI перенаправления на ваш сценарий. Во-вторых, с помощью нескольких настроек вашего скрипта вы сможете запускать его без подключения к голове, без промежуточного шага копирования / вставки.
В своем ответе я собираюсь исследовать второй путь.
Что касается переменных среды, у вас есть несколько вариантов. В зависимости от вашего дистрибутива вы можете установить эти переменные в crontab перед запуском задания. Кроме того, вы можете установить экспорт в том же задании, которое вы используете для запуска вашего скрипта, разделяя команды точкой с запятой. См. этот ответ для подробного объяснения.
Затем, что касается аргумента имени пользователя: к счастью, аргументы скрипта также могут быть переданы через cron. Вы просто указываете имя пользователя после имени сценария в задании; cron передаст его в качестве аргумента вашему скрипту.
Наконец, что касается URI перенаправления: если вы измените свой URI перенаправления на что-то вроде localhost с номером порта, скрипт автоматически перенаправит вас. На самом деле это не было разъяснено мне в документации spotipy, а скорее из командной строки при аутентификации с помощью localhost: «Использование localhost
в качестве URI перенаправления без порта. Укажите порт (например, localhost:8080
), чтобы разрешить автоматизацию c получение кода аутентификации вместо копирования и вставки URL-адреса, на который перенаправлен ваш браузер ". Следуя этому совету, я смог запустить свой скрипт без необходимости копировать / вставлять URL-адрес перенаправления.
Добавьте что-то вроде «http://localhost: 8080» в URI перенаправления вашего приложения на панели инструментов Spotify, а затем экспортируйте его в вашей среде и запустите свой скрипт - он должен работать без вашего ввода! 1021 *