• 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

  • 相关阅读:
    Python迭代器的反复使用
    快速求幂模运算实现
    rural lifestyle & city lifestyle
    Python实现 扩展的欧几里德算法求(模逆数)最大公约数
    jupyter themes一行命令设置个人最爱界面
    python数组、矩阵相乘的多种方式
    有一组整型数,其中除了2个数字以外的其它数字都是俩俩成对出现的,编写程序找出这2个不成对出现的数字。
    Linux线程池技术处理多任务
    编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以 及任何的比较语句。
    C++const类型的引用参数
  • 原文地址:https://www.cnblogs.com/pigge/p/9914785.html
Copyright © 2020-2023  润新知