Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104573272
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-03-25 11:18:48

第六章 Shell编程 

  shell 不但是 Unix 的用户交互界面,还是一门程序设计语言,系统注册进入时就会执行一个shell命令文件 .profile ,下面对shell中的常用命令作简单介绍。 
  $n shell 程序命令行中的第n 个参数,n为0-9,当n 为0时表示命令名 
  $# 命令行中参数的个数 
  $$ 本shell 命令的进程号 
  $! 最后一个后台进程的代号 
  $* 所有命令行参数 
  $@ 与$*相似,但其值不同 
  $HOME 注册时进入的目录 
  $PATH 命令的搜索目录 
  $PS1 系统第一个提示符,一般为$ 
  $PS2 系统第二个提示符,一般为>; 
  shift [n] 将命令行参数往左移一位,但$0不变 
  变量名=字符串 将字符串赋予变量名,以后可用$变量名引用该变量 
  export 变量名表 将变量名表所列变量传递给子进程 
  read 变量名表 从标准输入读字符串,传给指定变量 
  echo 变量名表 将变量名表指定的变量显示到标准输出 
  set 显示设置变量 
  env 显示目前所有变量 

  if 条件执行,语法是: 
   if 条件 
    then 指令 
   fi 

  case 分支执行,语法是: 
   case 字符串变量 in 
    值1) 指令... 
    值2) 指令... 
    ... 
    esac 

  while 条件为真时循环,语法是: 
   while 条件 
   do 
    指令... 
   done 

  until 条件为假时循环,语法是: 
   until 条件 
   do 
    指令... 
   done 

  for 变量在表中时循环,语法是: 
   for 变量名 in 字组表 
    do 
     指令... 
    done 

  break 从循环中退出,语法:break n 
  n 表示跳出循环的层数 

  continue 继续循环,语法:continue n 
  n 表示退到包含continue 语句的第n 层继续循环 

  exit 退出shell 
  func shell内部可定义函数,语法: 
  func 函数名() 
  { 
   指令... 
  } 

  expr 将其后的串解释为表达式并计算其值,运算符前后需有空格 
  trap 捕获信号,语法 trap n ,捕获信号 n (信号说明参见kill) 

  test 条件测试,语法 test [选项] 参数 
  选项 -f 文件 若文件存在且可读则真 
  -w 文件 若文件存在且可写则真 
  -x 文件 若文件存在且可执行则真 
  -f 文件 若文件存在且为普通文件则真 
  -d 文件 若文件存在且为目录文件则真 
  -p 文件 若文件存在且为fifo文件则真 
  -s 文件 若文件存在且不空则真 
  -z 串 若串长度为0则真 
  -n 串 若串长度不为0则真 
  串 若串不是空串则真 
  串1=串2 若串1等于串2则真 
  串1!=串2 若串1不等于串2则真 
  n1 -eq n2 若n1与n2数值相当则真 
  n1 -ne n2 若n1与n2数值不相当则真 
  n1 -lt n2 若n1小于n2则真 
  n1 -le n2 若n1小于等于n2则真 
  n1 -gt n2 若n1大于n2则真 
  n1 -ge n2 若n1大于等于n2则真 
  可用 与 -a 或 -o 非 ! 将条件表达式连接起来 
阅读(937) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~