zoukankan      html  css  js  c++  java
  • Solaris shell脚本学习

    看懂脚本文件即可

    知识点:

    Shell概述

    Shell变量

    Shell中的特殊字符

    参数置换变量

    控制结构

    1. 何为shell

      Shell就是unix提供给用户的使用界面,处于内核和应用程序之间,他是一个解释性语言,也是

      一种程序设计语言,也有自己的控制结构。

    Bash 比较普遍,包含 csh,ksh特色。

    Solaris默认shell 是sh,不过我们切换到bash来写脚本。

    Shell放在文件里面就变成了shell script 叫做shell脚本。

    指定一个shell去执行这个文件也可以。

    Bash ls.sh

    一般采用第三种方式,将文件设为可执行。

    Shell变量

    变量就是一个容器,传递数据的方式。我们分临时变量与全局变量。

    临时变量:在shell程序中定义的变量,全局变量就是环境变量,其值不随shell脚本的执行结束而消失。

    在变量前面加上 前缀 $ .

    赋值技巧:不能带空格,变量可以是数字也可以是目录,文件等。 或者说是字符串。是大括号不是小括号。

    Echo命令

    一般对于输出格式的控制我们需要用到  c f 换页 换行 回车 制表符 v 垂直制表符

    环境变量

    是shell本身定义的变量,又称为系统变量。

    MAIL SHELL DEITOR

    export命令

    export命令有转出作用,相当于设置完全局变量后,要让其对其他进程有效。所有需要输出。

    环境变量PATH

    决定了寻找shell命令和其他程序的途径,一般把常用 命令放在最前面。这个是影响shell程序效率之一。

    预定义的特殊变量:

    $* 位置参数 $# 参数个数 $$ 当前进程的pid

    $! 最后一个进程的pid $? 最后一条命令的退出状态 $@ 与第一个有点像。

    位置 参数:

    当位置参数超过9,怎么办?需要移动位置参数。Shift表示向左移动。

    Shift移动的位数和个数有关,一般是整数倍,假如剩下的个数不足移动的位数,则剩下的无法移动。

    小脚本:第一句是程序会按照 bash里面的shell指令执行, -ne 表示不等于0;

    $# 表示统计位置参数的个数,下面是6个位置参数,一个命令。

    输入输出命令

    键盘等都是标准输入,我们可以理解为输入流。

    对于下面的 %s,其实可以改为 $x

    Shell中的特殊字符

    通配符:* 任意字符 ? 一个字符 [ ] 匹配多个字符 转义字符

    引号: 双引号 、 单引号、倒引号

    记住:倒引号 优先执行,当然我们也可以用 -exec 或者 |xargs 实现。

    重定向符 > < >>

    选择语句

    注意语法。下面的;; 不可以少。不然会出错。

    While语句

    Until 语句

    For 语句

    对于程序中的 while条件,必须要有两个 小括号,不然会报错。

    在shell程序中,变量可以不用先定义后使用,可以直接使用。

    当下面的程序中,user 登录,才会结束,不然一直处于循环状态。


    其参数可以是 值表、文件正则表达式、位置参数

    注意区别下面{ }的作用。以及let 表达式的使用 。在shell程序中没有;分号。

     

    流程控制语句

     

    函数

    函数名 ()

    {

    函数体

    }

  • 相关阅读:
    c++11之智能指针
    SurfaceFlinger与Surface概述
    android GUI 流程记录
    文章收藏
    android performance
    POJ3349
    java中的volatile和synchronized
    [原创]分期还款的名义利率与真实利率
    Java IO 流总结
    telegram
  • 原文地址:https://www.cnblogs.com/zhuxuekui/p/4363850.html
Copyright © 2011-2022 走看看