Ответ 1
изменения:
--post-data 'email=$EMAIL&password=$PASSWRD'
в
--post-data="email=$EMAIL&password=$PASSWRD"
bash руководство о Quoting
: http://www.gnu.org/software/bash/manual/bashref.html#Quoting
Я работаю над простым bash script для загрузки изображений с веб-сайта Tumblr. Идея состоит в том, чтобы использовать read
для получения информации для входа от пользователя и wget --post-data
для входа в систему, и это то, что у меня есть:
read -p "Tumblr login email: " EMAIL
read -p "Tumblr login password: " PASSWRD
wget --user-agent=Mozilla/5.0 --save-cookies cookies.txt --post-data 'email=$EMAIL&password=$PASSWRD' --no-check-certificate https://www.tumblr.com/login
Однако он отправляет "$EMAIL"
и "$PASSWRD"
вместо строк для переменных, есть ли способ заставить его отправлять значения, введенные пользователем?
изменения:
--post-data 'email=$EMAIL&password=$PASSWRD'
в
--post-data="email=$EMAIL&password=$PASSWRD"
bash руководство о Quoting
: http://www.gnu.org/software/bash/manual/bashref.html#Quoting
важно: Не использовать:
--header="Content-Type: text/xml"
вместе с -post-данными. Он переопределит
--header="Content-Type: application/x-www-form-urlencoded"
выпущенный wget. Пост-данные не будут получены HttpServlet