diff --git a/bashlib/bashlib.sh b/bashlib/bashlib.sh new file mode 100755 index 0000000..cc815b5 --- /dev/null +++ b/bashlib/bashlib.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +set -e + +function onOSX () { + return [[ $(uname) == "Darwin" ]] +} + +function findLocalService () { + + local SVC="$1" + + if onOSX; then + local OUT="$( + echo -e "spawn -noecho dns-sd -Z $SVC\nexpect -timeout 1 eof {}" | + expect -f - | + grep SRV | egrep -v '^\s*;' + )" + local PORT="$(echo $OUT | awk '{print $5}')" + local HOST="$(echo $OUT | awk '{print $6}')" + else + # linux only for now + local OUT="$(avahi-browse -p -t -r $SVC | grep '^=' | head -1)" + local NAME="$(echo \"$AL\" | cut -d';' -f 8)" + local PORT="$(echo \"$AL\" | cut -d';' -f 9)" + fi + + echo $HOST:$PORT +}