124f91833SMichael Walsh#!/bin/bash 224f91833SMichael Walsh#\ 324f91833SMichael Walshexec wish "$0" -- ${1+"$@"} 424f91833SMichael Walsh 524f91833SMichael Walshsource [exec bash -c "which source.tcl"] 624f91833SMichael Walshmy_source [list print.tcl opt.tcl] 724f91833SMichael Walsh 824f91833SMichael Walshlongoptions test_mode:=0 quiet:=0 924f91833SMichael Walshpos_parms 1024f91833SMichael Walsh 1124f91833SMichael Walsh 1224f91833SMichael Walsh# Create help dictionary for call to gen_print_help. 1324f91833SMichael Walshset help_dict [dict create\ 1424f91833SMichael Walsh ${program_name} [list "${program_name} will..."]\ 1524f91833SMichael Walsh] 1624f91833SMichael Walsh 1724f91833SMichael Walsh 1824f91833SMichael Walshproc help {} { 1924f91833SMichael Walsh 2024f91833SMichael Walsh gen_print_help 2124f91833SMichael Walsh 2224f91833SMichael Walsh} 2324f91833SMichael Walsh 2424f91833SMichael Walsh 2524f91833SMichael Walshproc exit_proc { {ret_code 0} } { 2624f91833SMichael Walsh 27*410b1787SMichael Walsh # Execute whenever the program ends normally or with the signals that we catch (i.e. TERM, INT). 2824f91833SMichael Walsh 2924f91833SMichael Walsh dprint_executing 3024f91833SMichael Walsh dprint_var ret_code 3124f91833SMichael Walsh 3224f91833SMichael Walsh # Your code here. 3324f91833SMichael Walsh 3424f91833SMichael Walsh qprint_pgm_footer 3524f91833SMichael Walsh 3624f91833SMichael Walsh exit $ret_code 3724f91833SMichael Walsh 3824f91833SMichael Walsh} 3924f91833SMichael Walsh 4024f91833SMichael Walsh 4124f91833SMichael Walshproc validate_parms {} { 4224f91833SMichael Walsh 4324f91833SMichael Walsh trap { exit_proc } [list SIGTERM SIGINT] 4424f91833SMichael Walsh 4524f91833SMichael Walsh # Your code here. 4624f91833SMichael Walsh 4724f91833SMichael Walsh} 4824f91833SMichael Walsh 4924f91833SMichael Walsh 5024f91833SMichael Walsh# Main 5124f91833SMichael Walsh 5224f91833SMichael Walsh gen_get_options $argv 5324f91833SMichael Walsh 5424f91833SMichael Walsh validate_parms 5524f91833SMichael Walsh 5624f91833SMichael Walsh qprint_pgm_header 5724f91833SMichael Walsh 5824f91833SMichael Walsh exit_proc 59