diff --git a/README.md b/README.md index 4260a79..5740b1f 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ Wi-Fi inspection and management tool. Subcommands: -- no args: show current Wi-Fi signal +- no args: show help - `signal`: show Wi-Fi signal metrics (channel, dBm, noise, SNR, Tx rate) - `signal `: repeat signal check `n` times (3s interval) - `list`: list previously-connected Wi-Fi networks (preferred networks on `en0`) @@ -99,7 +99,7 @@ Subcommands: Examples: ```sh -./wifi_tools.sh # Show current Wi-Fi signal +./wifi_tools.sh # Show help ./wifi_tools.sh signal # Show signal metrics ./wifi_tools.sh signal 10 # Repeat 10 times ./wifi_tools.sh list # List known networks diff --git a/wifi_tools.sh b/wifi_tools.sh index 667b5d2..0fe209f 100755 --- a/wifi_tools.sh +++ b/wifi_tools.sh @@ -17,7 +17,7 @@ display_usage() { echo "Usage: $scriptname [command] [options]" echo "" echo "Commands:" - echo " (no args) : Show current Wi-Fi signal." + echo " (no args) : Show this help." echo " signal : Show current Wi-Fi signal metrics." echo " signal : Repeat signal check n times (3s interval)." echo " list : List previously-connected Wi-Fi networks." @@ -112,9 +112,16 @@ reset_wifi() { case $1 in "") - show_wifi_signal + display_usage + exit 0 ;; signal) + if [ $# -gt 2 ]; then + echo "Error: 'signal' takes at most one argument: ." >&2 + display_usage + exit 1 + fi + ensure_wifi_tools_ready show_wifi_signal if [ -n "$2" ]; then if [ "$2" -gt 0 ] 2>/dev/null; then @@ -132,6 +139,12 @@ signal) fi ;; list) + if [ $# -gt 1 ]; then + echo "Error: 'list' takes no arguments." >&2 + display_usage + exit 1 + fi + ensure_wifi_tools_ready list_wifi_networks ;; reset) @@ -140,6 +153,7 @@ reset) display_usage exit 1 fi + ensure_wifi_tools_ready reset_wifi ;; -h | --help)