Shell - 简介
Shell Types:
- sh
- bash
- csh
- tcsh
- ksh

什么时候不适合使用shell脚本?
- 资源密集型的任务,尤其在需要考虑效率时(比如,排序,hash等等)
- 需要处理大任务的数学操作,尤其是浮点运算,精确运算。
- 有跨平台移植需求
- 复杂的应用,在必须使用结构化编程的时候。
- 至关重要的应用
- 对于安全有很高要求的任务
- 工程的每个组成部分之间,需要连锁的依赖性
- 需要大规模的文件操作
- 需要多维数组的支持
- 需要数据结构的支持,比如链表或数组等数据结构
- 需要产生扣操作图形化界面GUI
- 需要直接操作系统硬件
- 需要I/O或socket接口
- 需要使用库或者遗留下来的旧代码的接口
- 个人的,半源的应用
风格声明
# !/bin/bash #-------------------------------------------------------------------------- # 作者:XXX # 时间:2016/10/19 # 功能:op.sh # 查看当前系统环境.... #--------------------------------------------------------------------------
# !/bin/bash #-------------------------------------------------------------------------- # 作者:张启卫 # 时间:2016/09/23 # 功能:cleanup.sh # 清除/var/log下的log文件 #-------------------------------------------------------------------------- ##################Start Script#################### LOG_DIR=/var/log //以变量方式命名,程序健壮性 ROOT_UID=0 #$UID为0的时候,用户才具备有限用户的权限 LINES=50 #默认的保存行数 E_XCD=66 #不能修改目录? E_NOTROOT=67 #非根用户将以error退出 #当然要使用根用户来运行 if [ "$UID" -ne "ROOT_UID" ] then echo "Must be root to run this script." exit $E_NOTROOT fi #测试是否有命令行参数(非空). if [ -n "$1" ] then lines=$1 else lines=$LINES #默认,如果不在命令中指定 fi #还有一种更好的方法来检测命令行参数 # # E_WRONGARGS=65 #非数值参数(错误的参数格式) # # case "$1" in # "" ) lines=50;; # *[!0-9]* echo "Usage: 'basename $0' file-to-cleanup"; exit $E_WRONGARGS;; # * ) lines=$1;; # esac cd $LOG_DIR //进入清除目录
/*对cd操作进行验证*/ if [ 'pwd' != "$LOG_DIR" ] then echo "Can't change to $LOG_DIR." exit $E_XCD fi cat /dev/null > messages cat /dev/null > wtmp echo "Logs cleaned up." exit ##################End Script###################### #案例 ##################Start Script#################### E_WRONGARGS=65 script_parameters="-a -h -m -z" # -a=all, -h=help, 等等 if [ $# -ne $Number_of_expected_args ] then echo "Usage: 'basename $0' $script_parameters" # 'basename $0' 是这个脚本的文件名 exit $E_WRONG_ARGS fi ##################End Script######################

浙公网安备 33010602011771号