toxic

备忘录

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
shell编程
请注意不要在windows下写脚本复制到linux里回车和换行会引起奇怪的错误
1.#!指定执行脚本的shell
2.#注释行
3.命令和控制结构
创建shell程序的步骤
一 创建一个包含命令行的文本
二 修改这个文件的权限 chmod u+x
三 执行 ./example (也可以使用sh example执行)



#!/bin/bash   #指定shell的版本
/usr/local/php/sbin/php-fpm

执行shell脚本
sh  [脚本名]
.  [脚本名]

变量的定义
shell有2种变量:临时变量和永久变量
永久变量也叫环境变量 不会随着shell的执行而消失
例子:
    NUM=1
使用赋值 A = $NUM
查看输出 echo $A 

删除变量 
unset 变量名

注:变量定义中单引号和双引号和php中也是一样的 单引号是不会检查变量的 双引号会检查$符号的变量值

位置变量
ls -l file1 file2 file3
$0 这个程序的文件名ls -l
$n 这个程序的第N个参数值,n=1-9

特殊变量
$*  这个程序的所有参数
$# 这个程序的参数个数
$$ 这个程序的pid
$! 执行上一个后台命令的pid
$? 执行上一个命令的返回值
例子 echo $?
返回值 是0或非0  0为执行成功

shell 命令
read命令: 从磁盘读入数据,赋给变量
如 read USERNAME

expr命令:对整数型变量进行算数运算
例如 : expr 3[空格]+ [空格]5
      expr $var1[空格]- [空格]5
      expr $var1[空格]/ [空格]$var2
      expr $var1[空格]/ *[空格]$var2
注意 空格不可忽略

变量测试语句
格式 : test 测试条件
例子: test  str1=str2
     test  -n str1 不为空
     test  -d file  是否为目录
     test  -x file  指定文件是否可执行
     test  -a file  文件是否存在


流程控制
if 条件1 then
   命令1
elif 条件2  then
   命令2
else
   命令3
fi

if [ 表达式 ];then
   命令
fi

退出
exit 0 表示正常退出

for...done 语句
格式 : for 变量 in 名字表
      do
            命令列表
      done


函数 
函数名 ()
{
   命令
}

调用 :不带()
函数名 参数1 参数2

 

posted on 2012-08-21 20:54  toxic  阅读(125)  评论(0编辑  收藏  举报