第二课 shell脚本

shell脚本:是一个很多shell命令组成的一个文件
一:�常量
数字常量 字符常量 字符串常量
二:shell的入门

  1 echo "hello word"
    *echo就是输出命令
  2程序执行方式
          chmod +x 1.sh//增加执行的权限
          ./1.sh 运行脚本文件
        注意点:尽量使用第一种,不要使用第二种
         
     -rw-r--r--
   第一个字符如果是-:代表这是一个普通文件纯文本的
  
       echo的深度用法
                  echo
      可以加上 “”。尅一不加‘’
      echo式自动换行的
      echo -e  开启转义,对特殊的字符进行转义    

二进 制的

      d:代表目录文件
      r:带白哦可读
     w:代表可写
     x:代表可写
     rw-:代表文件宿主用户的操作权限
     r--:代表与宿主用户同组的其他用户权限
     r--:代表其他用户

chmod +(-)x 1.sh给所有的用户加上可执行权限或减去权限

    u:user,owner                  g:group
  chmod 7771.sh

标示符的命名规范

      只能有字母,数字或下划线组成
      不能以数字开头
      不能与shell脚本的关键字相同

建议规范

      不准用拼音代替,多查字典
       尽量使用驼峰命名法numOfStident
      见名之意

变量的定义

 不需要制定变量的数据类型
 左边是变量名,右边死变量存储的值
 =左右两边不能有空格
     注意:如果这个变量没有定义,就直接使用,那么久默认这个变量为空格
  • shell脚本的语法规范
      每一行写完不需要分号
      上面语法的错误不会影响下面代码的执行
      shell脚本是一个动态决定数据类型的语言

*变量的使用

a 不加$时候的情况
      1、在变量的定义和变量的赋值不需使用
      2、在变量删除的时候
      3、在与let关键字连用的时候
b变量+{}
      为了分清界限
       ‘’:不能转义取值
       不加:不能很好的分清是变量爱是值
      “”:可以避免上述问题

转义字符

  \c代表不换行
  \t相当于tab按键
    (1)如果采用./1.sh运行方式,需要开启echo -e
    (2)如果采用sh 1.sh运行方式,不需要开启转义
              例如:echo "xxx\t===="

字符串的处理方式

      1>计算字符串的长度
          
                   1string="hello"
                   2length=${#string}
                   3echo "${length}"
     2>拼接字符串
                  

                      1string="hello"
                      2string1="world"
                      3string2="$string $string1"
                      4echo ${string}
 
      3>截取字符串
         

                1string="hello world"
                2string1=${string:6:5}
                3echo "${string2}"
  *printf的用法
       简单案例

  1num=1
  2string="hello"
  3printf "${num},${string}\n"
  4pr intf"num=%d,string=%s\n"${num} ${string}
  5ch="c"
  6num2=12.3

*printf"ch=%c,num2=%f\n"${ch} ${num2}
分析

  %d:代表打印的数值是一个整数
  %S:代表打印的数值是一个字符串
  %c:代表打印的数值是一个字符

%f:代表打印的数值算是一个小数

%m.nf代表是 左对齐

 m只是控制打印的宽度
%md:     %mc:    %ms:
      注意点:
                  所有的数据类型都可以看成字符串去打印
                  字符串不能用整数,小数,字符型去打印

*只读变量readonly

   3readonly value=1
    4value=2     #这一行会出错,因为这个变量已经用readonly 进行修饰,说明这个变量将来只读,不可写.
                 注意  只读变量不可删除

算数运算符(整数)
+ - * / %
取结果集

``      $()
    注意点:如果是*必须用\*,告诉编译器这是乘.计算机只能计            算相同类型的数据,其结果一定与类型相同

let关键字

前缀++,__....

关系运算符

\>      \<     \>=    \<=
需要加\进行转义

if 条件分支

 1> 
 if[条件]'
 then
  输出的信息
 fi

2>

    if[条件]
    then
   输出的信息
   else
  输出的信息
   fi

3>

 if[条件]
  then
          输出的信息
  elif[条件]
  then
   输出的信息
  ......
  elif[条件]
  then
        输出的信息
  else
        输出的信息
  fi

注意: 1>else可有可无
2>如果有else,必须放在最下面
3>别忘了加标识符

  -gt:大于                                   -lt:小于
  -ge:大于等于                          -le:小于等于
   -eq:等于                                  -ne:不等于

字符串运算符

   =      !=      -z


  -z $str判断字符串是否为空
  $str 判断字符串是否不为空  
      例如
      1string="hello'
      2string1=""hello
      3string=""
      4if [ -z$string2 ]
      5then
      6  echo"不存在"
      7else
      8echo"存在"
      9fi

文件运算符

   -e 文件路径:判断文件是否存在
  -d 文件路径:判断文件是否是目录.directory
  -f 文件路径:判断文件路径是否是普通文件,file
  -r.........可读
  -w.......可写
  -x.........执行

例如

  1if [ -e ~/xxx]
  2then
  3  e  cho"存
  4else
  5    mkdrv~/xxx
  6    echo "创建成功"
  7fi
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容