您当前的位置: 首页 > 

cuiyaonan2000

暂无认证

  • 0浏览

    0关注

    248博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

shell编程教程or学习笔记

cuiyaonan2000 发布时间:2014-05-27 16:40:28 ,浏览量:0

----------------------------------------------------hello world------------------------------------------- linux 创建如下文件 vim hello #! /bin/bash   //告诉Shell 使用哪个Shell 程序 #Display  a line    //#表示注释                                //空白行用来区分不同更功能 没有实际意义 name="cuiyaonan2000@163.com" echo "Hello World"      //echo 将后面的参数传递给标准输出 输出: Hello World ----------------------------------------------------hello world------------------------------------------- -----------------------------------------------------------关于变量------------------------------------------------- 在脚本中直接使用如下的方式创建变量,以及使用变量 log ="cuiyaonan2000@163.com"                 //注意等号两边不能有空格 echo $name      //使用$来获取变量中的值 结果输出  cuiyaonan2000@163.com echo " this is the \&name"   //结果输出  this is the $name echo "this is the $name"   //结果输出  this is the cuiyaonan2000@163.com echo "this is the ${name}email" //输出结果 this is the cuiyoanan2000@163.comemail  这里{}用户限定一个变量的开始和结束 source hello   //这里的hello是上面的文件,执行后 就能在父Shell环境下 调用name变量的值 echo $name export  count=5  //表示让脚本影响子Sheel环境(就是当前用户的Shell) ,输出变量count bash   // 启动子Shell echo $count  //在子Shell中显示变量的值 exit  //退出子Shell unset count //表示删除一个变量 num1=1+2 num2=$[1+2]   //同理 1可以替换成变量 $num  如果不加$[] 则会输出  1(这里的1是$num的值) + 2,而非3 echo $num1 $num2 //输出 1+2  3  ,所以使用变量进行运算需要使用 $[] 也可以使用 let  num2 = $num2 +1 2#10:表示2进制10,  16#10:表示16进制10 expr 1 + 2 //输出结果为3 ,替代$[],注意  1 +  2 中间必须要有空格否则当做字符串输出 //也可以参考let -----------------------------------------------------------关于变量------------------------------------------------- -----------------------------------------------------------关于传入数组参数变量------------------------------------------------- $1 表示第一个参数  $2表示第二个参数    $3表示第三个参数 $0 表示脚本的名字 $* 表示参数列表 $@同上 $# 参数个数 举例for循环与数组参数 for file in #@                     //file是变量, 循环传递来的数组参数 do ls -l $file done -----------------------------------------------------------关于传入数组参数变量------------------------------------------------- -----------------------------------------------------------关于引号规则------------------------------------------------- echo " this is the $name"    // 双引号对$ 进行解释  echo 'this is the $name'   //单引号对$不进行解释,输出为  this is the $name echo "today  is  `date "   //到引号 会运行其中的命令 将date当做命令来执行 -----------------------------------------------------------关于引号规则----------------------------------------------- -----------------------------------------------------------判断语句-------------------------------------------------------- #! /bin/bash read password                //read 命令用于 请求一个 用户输入,并将值赋给 password if [ "$password" = "12333"]      // 判断 用户输入的值是否等于 12333 .  这里的[ 是个命令,所以 等号,参数,前后都需要有空格 //对于 if的判断参数的解释: if的判断语句只接受程序作为参数. 这也是为什么使用 [ 来包含 "$password" = "123333" //因为[其实是个命令,可以用test进行替换为:  if test $password = "12333" //这里有个问题,因为 test和[是命令 所以个个参数和运算符=之间都需要有空格隔开.这也是变量赋值的时候不能有空格的原因 //这里的 判断参数可以是脚本 因为脚本也是程序.  返回0表示真 ,非0表示假 then echo " you  are  in" fi // 表示语句块结束 if语句的其它格式 if   判断 then 命令 elif 判断 then 命令 else 命令 fi case多选结构 case  $1 in start)    //判断 $1 是否等于 start 命令 ;;  //这里表示结束退出.而且该命令是一个case必须额的 stop) 命令 ;; *)    //使用了通配符,相当于如上都没有匹配则执行 命令 ;; esac //表示case结束 现在有3种类型的判断:  A:字符串判断 B:文件测试   C:数字比较    每种判断提供了多种属性 参考p344 exit $@  //exit 表示退出成 并返回一个值  可以是 exit 0  或者 exit  $@ -----------------------------------------------------------判断语句-------------------------------------------------------- -----------------------------------------------------------循环语句--------------------------------------------------------- while 虚幻语句 while test $number -le 100    // numbe的值小于或等于 100  为真继续运行 do  命令 done until 判断语句    //这的判断语句 是 当为真的时候就退出 do 命令 done for  i  in 1 2 3   // in 后面的 是参数数组以空格隔开 ,   do echo $i done seq命令详解 seq 9  : 会生成 从1-9的参数数组 for i  `seq 9`    //注意此处 到引号的作用  do  echo $i done -----------------------------------------------------------循环语句--------------------------------------------------------- -----------------------------------------------------------一些常用的命令---------------------------------------------- read: 从标准输入接收一行信息,  如果没有提供变量名,则会将信息放在变量REPLY. 当使用Ctrl+D\ read可以将输入的多个数据存到多个变量中,其中 输入的以空格隔开. 如:read first second 当一个进程运行成功后总会想父进程返回数值0(表示正常),其他值表示了异常 exit: 强行退出一个脚本,并想调用脚本的进程返回一个整数值 trap:用来捕获信号,例子如下 #! /bin/bash  trap `echo  "type quite to exit"`    INT   //这句话的意思是捕获INT信号(就是Ctrl+Z)后 就打印  "type quite to exit".  -----------------------------------------------------------一些常用的命令----------------------------------------------  

关注
打赏
1638267374
查看更多评论
立即登录/注册

微信扫码登录

0.0336s