#!/bin/sh cmdline="" while [ $# -gt 0 ]; do case "$1" in --) break;; [+-]*) cmdline="$cmdline $1"; shift;; *) break;; esac done fn="" if [ $# -gt 0 ]; then fn=$1 fi vi $cmdline $fn ec=$? if [ -n "$fn" -a -f "$fn" ]; then case "$fn" in *.pl) chmod +x "$fn";; esac fi exit $ec