COPIES=1 VERBOSE=N while getopts vc:OPTION do case $OPTION in c)COPIES=$OPTARG;; v)VERBOSE=Y;; \?)echo "无效参数!" exit 1;; esac done if [ $OPTIND -gt $# ] then echo "No file name specified" exit 2 fi shift 'expr $OPTIND - 1' FILE=$1 COPY=0 while [ $COPIES -gt $COPY ] do COPY='expr $COPY + 1' cp $FILE $ {FILE} $ {COPY} if [ VERBOSE = Y } then echo ${FILE} $ {COPY} fi done
规范Shell:
我们知道环境变量PS1是提示符,看下面程序chdir: if [ ! -d "$!" ] then echo "$1 is not a directory" exit 1 fi cd $1 PS1="'pwd'>" export PS1
create name 产生名为name的层次 delete name 删除名为name的层次 block name 禁止名为name的层次的输出 unblock name 恢复名为name的层次的输出 resume name 激活名为name的层次 toggle 激活近来经常使用的层次 name 激活名为name的层次
layers [-l] name 对于表中的每个层次,显示其正在运行的进程的进程号,-l选项要求显示详细信息。