У Heroku есть замечательная команда, которая позволяет мне использовать curl для загрузки файла, которая отлично работает в UNIX:
curl -o latest.dump `heroku pgbackups:url`
Команда в обратных кавычках возвращает очень длинный URL-адрес, который трудно скопировать/вставить в мою консоль Windows CMD.
Поскольку обратные кавычки, похоже, не работают в Windows, какой эквивалент есть в Windows? Мои исследования CMD привели к глубокому погружению в создание пакетного файла, который, как я считаю, является излишеством для этой небольшой цели. Поиск в Google man-страниц curl не дал ничего, что можно было бы вытащить. Поиск в Google других ресурсов, похоже, указывает на генерацию запроса POST, что, по-моему, не так.
Какая эквивалентная команда в CMD Windows? Спасибо, Сэм
решение1
Это не оригинальное исследование, а заимствовано изБлоги MSDN.Там говорится, что
Не существует очевидного способа прочитать вывод команды в переменную (...). В оболочках в стиле unix это делается с помощью обратных кавычек. (...)В командном процессоре Windows нет прямого обратного цитирования., но вы можете подделать его, злоупотребив командой FOR.
И вот пример с такимдлякоманда, напоминающая unix-команду echo `your_command`
:
for /f "delims=" %i in ('your_command') do @echo "%i"
/f
активирует следующий синтаксис (help for
подробнее см.):FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
delim=
отключает разделение по пробелам@echo
выводит содержимое переменной%i
, но сам вызов echo подавляется (@
)
решение2
Как уже сказал @Eugen Rieck, я предлагаю вам использовать правильный терминал. Но что касается вашего вопроса:
Theобратные кавычкииспользуются для выполнения чего-либо и использования его результата в строке, ониоцениватькоманда:
echo `date`
Или
echo $(date)
Будет напечатано:
mar jul 1 11:46:42 CDT 2014
Так что в вашем случае это попытка выполнить
heroku
команду сpgbackups:url
параметром. Вы можете обратиться к этому вопросу:Пакетные файлы — как задать вывод команд в виде переменнойкакКристианпредлагает в комментариях.А чтобы передать параметр запросу,
GET
вам нужно просто добавить указанные параметры к URL-адресу, например, если вы хотите передать переменную с именем,number
содержащим номер10
, и переменную с именемtext
, содержащую"I'm a text"
, ваш URL-адрес должен выглядеть следующим образом:"http://example.com/script.php?number=10&text=I'm+a+text"