Skip to content

Instantly share code, notes, and snippets.

@raags
Last active August 29, 2015 14:22
Show Gist options
  • Save raags/d9739c0bc4d68048dcce to your computer and use it in GitHub Desktop.
Save raags/d9739c0bc4d68048dcce to your computer and use it in GitHub Desktop.
Test for mutually exclusive options in shell scripts
#!/bin/sh
set -e
[ -z "$FIRST" -a -z "$SECOND" -a -z "$THRID" ] && { echo "FIRST, SECOND or THIRD arg must be specified"; exit 1; }
FIRST_ARG="${FIRST:-}"
SECOND_ARG="${SECOND:-}"
THIRD_ARG="${THIRD:-}"
FINAL_ARG="${FIRST_ARG}${SECOND_ARG}${THIRD_ARG}"
[ $FINAL_ARG == "$FIRST_ARG" -o $FINAL_ARG == "$SECOND_ARG" -o $FINAL_ARG == "$THIRD_ARG" ] || { echo "FIRST, SECOND and THIRD are mutually exclusive"; exit 1; }
echo $FINAL_ARG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment