diff options
author | Benjamin Barenblat <bbaren@google.com> | 2019-09-16 11:21:44 -0400 |
---|---|---|
committer | Benjamin Barenblat <bbaren@google.com> | 2019-09-16 11:21:44 -0400 |
commit | 66cdcec22a236171d2f630747e04d69c590f7dfc (patch) | |
tree | 9b0c19ea67aad041f54c1be207b37c4609e44f40 /sor | |
parent | 82cd3de3f4acb0e7a19ebec91baa0eba0d23bd9b (diff) |
Support --help option
Diffstat (limited to 'sor')
-rwxr-xr-x | sor | 42 |
1 files changed, 42 insertions, 0 deletions
@@ -13,6 +13,48 @@ # See the License for the specific language governing permissions and # limitations under the License. +short_usage() { + echo 'Usage: sor SNIPPET...' +} + +help() { + short_usage + cat <<EOF +For each line from standard input, evaluate the specified SNIPPETs under Bash +with the line as the argument. Print the line if any snippet exits with +status 0. + + --help display this help and exit +EOF +} + +ask_for_help() { + echo "Try 'sor --help' for more information." +} + +if ! temp=$(getopt -s bash -n sor -o '' -l help -- "$@"); then + ask_for_help >&2 + exit 1 +fi +eval set -- "$temp" +unset temp +while true; do + case "$1" in + --help) + help + exit 0 + ;; + --) + shift + break + ;; + *) + echo >&2 'Internal error; please report.' + exit 1 + ;; + esac +done + while read file; do for test in "$@"; do if eval "$test \"$file\""; then |