2015-03-19 2 views
3

Я хочу сделать завиток на git bash, не вводя его. I.e, я хочу выполнить «curl http://google.co.uk», запустив batchscript в окнах.Как выполнить предварительно заданную команду в git bash

Возможно ли это? Я пытаюсь это, поскольку я пытаюсь автоматизировать несколько запросов на завивки.

ответ

3

Отличная идея использовать git bash для тестирования! Если вы хотите вызвать curl несколько раз из сценария, я бы использовал скрипт bash.

Сначала создайте файл с именем doit.sh, и поместите ваш локон команды внутри:

#!/bin/env bash 

curl http://google.co.uk 
curl http://www.google.com 
# More as needed... 

Сохраните файл, и вы должны быть в состоянии запустить его двойным щелчком в проводнике Windows - или даже лучше, по запустив его с помощью ./doit.sh в командной строке.

завиток является действительно мощным инструментом для такого рода тестирования, поэтому, если вы готовы идти по пути Баш сценариев вы можете написать более сложные тесты - например:

#!/bin/env bash 

expected_resp_code="200" 
echo "Making sure the response code is '$expected_resp_code'..." 

actual_resp_code=$(curl --silent --head --write-out %{http_code} http://www.google.co.uk/ -o /dev/null) 

if [[ ! "$actual_resp_code" = "$expected_resp_code" ]] ; then 
    echo "Expected '$expected_resp_code', but got code '$actual_resp_code'" 
    exit 1 
fi 

echo "Success!" 
exit 0 

Выполнение вашего скрипта в мерзавца Баш может выглядеть следующим образом:

[email protected] ~/Desktop 
$ ./doit.sh 
Making sure the response code is '200'... 
Success! 

Если вы масштабироваться до многих десятков или сотен тестов, вы можете рассмотреть вопрос о переходе на другой язык сценариев, но в течение нескольких одноразовых задач, ссылающихся завиток из Баш сценарий может послужить вам хорошо.

0

Один из возможных подходов: любой сценарий под названием git-xxx.bat будет выполняться в Баш сессии мерзавца, даже при вызове (git xxx) из CMD сессии DOS, пока git-xxx.bat находится в папке, на которую ссылается %PATH%.

Вы можете реализовать свои команды curl в указанном скрипте.

Смежные вопросы