zoukankan      html  css  js  c++  java
  • shell脚本命令格式注意点

    1、大部分的Linux系统默认配置bash。对比shbash扩展了一些命令和参数,并且保留对sh的一些兼容。除了bashsh还有csh(语法类似C语言)、tcshcsh升级版)、ash(适合低内存环境)

    2、脚本开头 #!/bin/sh , #!必须有,后面跟上的是shell的路径

    3、变量赋值和取值

    (1) Bash shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串,这一点和大部分的编程语言不同。

    variable=value  注意:赋值号左右不能留空格

    (2) $后面跟上变量表示读取变量里面的值,特殊情况可以加上{}表示变量的边界

     输出结果:

    (3) 单引号和双引号的区别:以单引号' '包围变量的值时,单引号里面是什么就输出什么,即使内容中有变量也会把它们原样输出,双引号内的变量才会取值输出

     输出结果:

    4、Linux命令结果赋值:用反引号(Esc下面、tab上面的点)表示

     输出结果:

    5、运算符:

    (1) expr :后面跟上需要运算的算法,需要用反引号,每个参数间要有空格

    (2) $((  )): 算法要有空格

    (3) let: 算法不能有空格

     输出结果:

    6、数组定义

    (1) 或者

     

    (2) 取值:

    7、If...else...if: 和常用编程语言的区别在于结束是用fi表示,每个条件后面要加上then

    (1) 方括号([ ])内的参数之间必须有空格

     

    (2) 多条件判断

     

    8、 case ... esac :类似其他语言的switch ... casecase工作方式如上所示。取值后面必须为关键字 in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;;; 与其他语言中的 break 类似,意思是跳到整个 case 语句的最后。

     

    9、While 循环

     

    10、Shell 函数:可以将可能重复用到的命令封装成一个函数,函数可以带返回值,函数内用return返回,函数外用$?接收返回值。Shell 函数返回值只能是整数,一般用来表示函数执行成功与否,0表示成功,其他值表示失败。如果 return 其他数据,比如一个字符串,往往会得到错误提示:“numeric argument required”。

    如果有需要返回其他类型的值,可以在外部定义一个变量,来接受结果。

     

    11、参数:shell脚本可以带参数,在脚本中,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...

     

    12、“#”井号表示注释

    13、特殊字符

    特殊变量

    说明

    $#

    传递给函数的参数个数。

    $*

    显示所有传递给函数的参数

    $?

    函数的返回值。

    $0

    当前脚本的文件名

    $$

    当前Shell进程ID

    -eq

    检测两个数是否相等,相等返回 true

    -ne

    检测两个数是否相等,不相等返回 true

    -gt

    检测左边的数是否大于右边的,如果是,则返回 true

    -lt

    检测左边的数是否小于右边的,如果是,则返回 true

    -ge

    检测左边的数是否大等于右边的,如果是,则返回 true

    -le

    检测左边的数是否小于等于右边的,如果是,则返回 true

  • 相关阅读:
    Something I know about WebDynpro
    Details about support package implementation
    CRM Middleware Performance Topics
    Way to configure the logon navigaion layouts via Business Roles in CRM
    DOM 常用节点类型和方法
    第一届 xdef 会议日程
    去除百度音乐盒广告的chrome插件 持续更新
    从人人网抓取高校数据信息,包括,省份 高校 院系 (提供最终SQL文件下载)
    PHP 与 JSON
    解决HTTPS 发送请求走socket问题
  • 原文地址:https://www.cnblogs.com/pigge/p/9914785.html
Copyright © 2011-2022 走看看