Chinaunix

标题: SCO UNIX基本命令---Shell编程 [打印本页]

作者: sdccf    时间: 2008-03-25 11:18
标题: SCO UNIX基本命令---Shell编程

第六章 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 非 ! 将条件表达式连接起来


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_507448.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2