#!/bin/bash # Default values VERBOSE=false OUTPUT_FILE="output.log" INPUT_DIR="." # Parse options while getopts "vhi:o:" opt; do case $opt in v) VERBOSE=true ;; h) echo "Usage: $0 [-v] [-i ] [-o ]" echo " -v: Enable verbose mode" echo " -i : Specify input directory (default: current dir)" echo " -o : Specify output file (default: output.log)" exit 0 ;; i) INPUT_DIR="$OPTARG" ;; o) OUTPUT_FILE="$OPTARG" ;; \?) echo "Invalid option: -$OPTARG" >&2 exit 1 ;; esac done # Shift off the options and their arguments shift $((OPTIND-1)) echo "Script started." echo "Verbose mode: $VERBOSE" echo "Input directory: $INPUT_DIR" echo "Output file: $OUTPUT_FILE" if $VERBOSE; then echo "--- VERBOSE LOG ---" echo "Processing data from $INPUT_DIR..." ls -l "$INPUT_DIR" echo "Writing results to $OUTPUT_FILE..." fi echo "Some processing output..." > "$OUTPUT_FILE" echo "Script finished."