文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Shell编程

Shell编程

时间:2006-03-20  来源:xiaoyi1982

Shell编程

Shell编程
教学内容:
Shell的基本概念
Shell编程基础
Shell编程的语句
Shell脚本的运行
教学目标:
了解shell的基本概念
熟悉shell的变量
掌握shell编程的常用语句和shell脚本的运行
教学重点:
shell编程的常用语句
shell脚本的运行
教学难点:
shell功能的实现
Shell的基本概念
Linux shell的特点
便于开发新命令
提高开发处理
内置编程语言
提供后台处理机制
提供管道、命令替换、自动补齐机制
Linux shell的版本
Bourne shell(B shell):Unix的最初Shell,在Shell编程方面比较优秀。
C  Shell(csh):在C语言编程方面性能较好
Bash Shell(bash):Bourne Shell的增强版,Linux系统的默认Shell
Korn Shell(ksh):综合B Shell和C Shell 的特点于一身。
Tcsh:C Shell的增强版,具有命令行编程接口和历史记录功能
命令的解释过程

注:(1)设定命令的别名:
格式:Alias 命令名=‘原命令名’
实例:Alias md=’mkdir’
(2)更改提示符:
格式:PS1=字符串(一级提示符)
PS2=字符串(二级提示符)〕
Shell编程基础(Base Shell)
Shell的变量和参数
(1)变量的分类
按变量作用域来分:全局变量,局部变量
按用途划分:系统变量环境,位置参数,用户自定变量
按数据类型:字符串变量,数值变量
(2)变量的定义
MyHost=”www”
(Export全局变量:Local局部变量)
环境变量
HISTFILE:历史记录文件
HISTSIZE:历史记录列表的大小
Home:用户主目录
Path:通用路径
UID:用户的UID
PS1(PS2):一(二)级提示符
TERM:终端类型
位置参数
位置参数:$1-$9
特殊参数:$0 命令名
          $# 参数的个数
          $* 所有的参数
          $$命令的PID
实例:#Vi    /sys
    #!/bin/bash   (指定默认Shell)
    System=”RedHat Linux”
    Ech$1
    Ech$2
    Ech$System
    #chmod 755 /sys
    # /sys  you  need
    you need RedHat Linux
运算符
  算术运算符:+,-,*,/,>>,<<
  逻辑运算符:&&(与),||(或),!(非)
  比较运算符:=(-eq),>(-gt),<(-lt),!=(-ne),<=(-le),>=(-ge)
  操作符:-x (判断可执行文件是否存在)
              -f(判断普通文件是否存在)
              -r(判断只读文件)
              -w(判断可写文件)
              -s数字(判断文件大小)
Shell的常用语句
Test
功能:测试表达试的真假
格式:Test 表达式
实例:if  test 1>2
then
echo “1>2”
fi
      if  [1>2]  
then echo “1>2”
  fi
if
功能:条件分支选择
格式:(1)if  条件           (2)  if  条件    
           then                      then
          语句                       语句
           fi                        else
                                    语句2
                                      fi
      (3)if  条件               (4)if  条件
         then                        then
        语句1                     语句1
      elif  条件2                   elif  条件2
       语句2                      语句2
      fi                             、、、
                                  else
                                   语句n
                                    fi
实例:1) if [-X  /shell/quotaon]
          then
         /sbin/quotaon –qvug
        else
        echo “quotaon no exists.”
fi
2)if [-x  /etc/crontab/]
    echo “crontab file exists.”
    elif  [-x/var/spool/cron/root]
     echo “root’s crontab file exists.”
     fi
Case
功能:多路分支
格式:Case  参数 In
        值1)语句1;;
        值2) 语句2;;
         、、、、、
        *)语句N;;
       esac
实例: #Vi /.etc/quotaman
          #! /bin/bash
          case $1
         start)
         /sbin/quataon –avug
          ;;
        stop)
       /sbin/quotaoff –avug
        ;;
       restart)
       /sbin/quota off –avug
       /sbin/quotaon  -avug
       ;;
    *)
     echo “enter start/stop/restart”
   ;;
   esac
Select
功能:多路选择分支
格式:select 参数 in 字符串
       do
         case 参数 in
        值1)
         语句一
           ;;
         …….
         *)
         esac
          done
实例: WORD =”abc”
    Select  I  in  $WORD
      Do  
      Case $ I  in
      a)
      echo “I am A”
       ;;
      b)
      echo ”I am B”
       ;;
      c)
      echo “I am C”
      ;;
      esac
     done
for
    功能:循环执行多条语句
    格式:for 参数〔in 字符串〕;do
          循环体
           done
     实例:1) for I in /bin/*
                do  
                echo $i
                done
2)for i
do
echo $i
done
while
功能:实现条件循环
格式:
while〔条件〕
do
循环体
done
实例:1)
while
do
steep s
done
2)
while [-f /var/run/pope.pid]
do
kill all pope [kill –q cat/var/run/pope.pid]
done
函数
格式:
〔function〕函数名(参数)

函数体

实例:
#  /bin/bash
start()
{  if  [ -x  /sbin/quotaon ]
  then
/sbin/quotaon –avug
fi
}
stop ()
{
if  [ -x /sbin/quotaoff ]
then
/sbin/quotaoff  –avug
fi
}
restart()
{
stop
start
}
case $1 in
start)
start
;;
stop)
stop
;;
retart)
restart
;;
*)
echo “error!!!!!!!”
;;
esac
exit
功能:退出脚本文件
格式:exit (0或1)
实例:
if  [ -f  /etc/sysconfig/network ]
then
/etc/rcd/init.d/network  start
else
exit(1)
fi
break
功能:退出循环
格式:break
实例:
while [ 1<2 ]
do
/bin/rm  –f   /abc/*f
if  [  -f  name.conf ]
then
break
fi
done
read
功能:从键盘获取变量的值
格式:read 变量名
实例:
read a
read b
c=$a+$b
echo $c
脚本的运行方式
方式一:
1.改变脚本文件的属性,让用户具有执行权
#chmod 权限值 脚本文件
2.运行脚本文件
#路径/文件名  [参数]
实例:# /etc/rc.d/init.d/dhcpd  restart
方式二:
# Shell名称  文件名
实例:#bash  a

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载