У меня есть следующий скрипт:
#!/bin/sh
[ "${#}" -eq "0" ] && (printf "%s\\n" "${0}: word ..." >&2; exit 1)
_whats()
{
[ -z "${1}" ] && return 1
[ -z "${2}" ] && more_than_one="1"
for word; do
response="$(dig +short txt ${word}.wp.dg.cx)"
printf "%s\\n" "${response}"
if [ -z "${more_than_one}" ]; then
printf "\\n%s\\n\\n" ":::::::::::::::::::::::::::::::::::::::::"
fi
done
}
_whats "${@}"
Он отлично работает, когда я называю это следующим образом:
whats shell\ script dns #it ouputs two definitions (shell script and dns)
Однако я бы также назвал его так:
echo shell\ script dns | whats
Я просто привык к этому, все остальные команды unix могут это сделать, как бы реализовать его в сценарии оболочки?