diff options
| author | mo <mo.khan@gmail.com> | 2019-05-25 19:31:52 -0600 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2019-05-25 19:31:52 -0600 |
| commit | a0ed1fb8e76217c1013acff9169ba987c0c5044a (patch) | |
| tree | da5556a649468b6e922352847c678327579218a2 | |
| parent | 3b353f1d1f778798fa5a232fd29ef5dd1ce5b8f1 (diff) | |
check multiple hostnames at once
| -rwxr-xr-x | bin/problem-7.sh | 25 | ||||
| -rw-r--r-- | test/problem-7.bats | 6 |
2 files changed, 22 insertions, 9 deletions
diff --git a/bin/problem-7.sh b/bin/problem-7.sh index 4e53180..8ec6e0c 100755 --- a/bin/problem-7.sh +++ b/bin/problem-7.sh @@ -5,13 +5,20 @@ if [ $# -eq 0 ]; then exit 1 fi -destination="$1" -host=$(host "$1" | grep 'has address') -ip=$(echo "$host" | cut -d' ' -f4) -ping -c1 $ip > /dev/null 2>&1 +check() { + destination="$1" + host=$(host "$1" | grep 'has address') + ip=$(echo "$host" | cut -d' ' -f4) + ping -c1 $ip > /dev/null 2>&1 -if [ $? -eq 0 ]; then - echo "$1" is on the network -else - echo "$1" is NOT on the network -fi + if [ $? -eq 0 ]; then + echo "$1" is on the network + else + echo "$1" is NOT on the network + fi +} + +for i in "$@"; do + check "$i" +done +exit 0 diff --git a/test/problem-7.bats b/test/problem-7.bats index 6b5e193..061df2e 100644 --- a/test/problem-7.bats +++ b/test/problem-7.bats @@ -19,3 +19,9 @@ load test_helper assert_failure "error: a hostname is required" } + +@test "invoke with multiple hostnames" { + run problem-7.sh localhost invalid + + assert_success $'localhost is on the network\ninvalid is NOT on the network' +} |
