#!/bin/bash PROG=${0%.jl} [ \! -f $PROG.jlc -o $0 -nt $PROG.jlc ] && rep --no-rc compiler -f compile-batch $0 exec rep "$PROG.jlc" "$@" !# ;; NOTE: directly invoking rep with hash-bang syntax works as well ;; #!/usr/local/bin/rep ;; !# (require 'stdlib) (defun usage () (puts "usage: rename REGEX GLOB") (throw 'quit)) (printf "args: %s\n" (or command-line-args "none")) (defvar args '(("--flag" nil) ("--arg" t))) (let ((flag (get-command-line-option "--flag" nil)) (arg (get-command-line-option "--arg" t))) (printf "flag: %s\n" flag) (printf "arg: %s\n" arg)) (when command-line-args (let loop ((args command-line-args)) (when args (printf "argument: %s\n" (car args)) (get-command-line-option (car args)) (loop (cdr args)))) (usage))