zoukankan      html  css  js  c++  java
  • shell 基本语法

    一 什么是shell脚本

    将OS命令堆积到可执行的文件里,由上至下的顺序执行文本里的OS命令 就是脚本了.
      再加上些智能(条件/流控)控制,就变成了智能化脚本了.

    二 变量

    part1 为何要有变量
    程序的运行就是一些列状态的变量->用变量值的变化去表示
    
    part2 变量命名规则
    以字母或下划线开头,剩下的部分可以是:字母、数字、下划线.
    最好遵循下述规范:
    1.以字母开头
    2.使用中划线或者下划线做单词的连接
    3.同类型的用数字区分
    4.对于文件最好加上拓展名
    例如: sql_bak.tar.gz,log_bak.tar.bz2
    
    part3 系统变量
    set 和 env区别
    set:显示所有变量
    env:环境变量
    
    part4 变量赋值
    VARNAME=VALUE
    echo $VARNAME
    删除变量 unset VARNAME
    
    part5 常用系统变量
    PATH
    PWD
    LANG
    HOME
    HISTSIZE
    PS1
    IFS
    域分隔符 是空格,换行,TAB键的合集
    
    part6 全局变量与局部变量
    [root@MiWiFi-R3-srv ~]# gender='male' #在爹这个位置定义一个局部变量gender
    [root@MiWiFi-R3-srv ~]# export money=1000 #在爹这个位置定义一个全局变量money
    [root@MiWiFi-R3-srv ~]#
    [root@MiWiFi-R3-srv ~]#
    [root@MiWiFi-R3-srv ~]# bash #切换到子bash
    [root@MiWiFi-R3-srv ~]# echo $gender #在儿子这里看它爹的局部变量gender,结果为空->看不到
    [root@MiWiFi-R3-srv ~]# echo $money #在儿子这里看它爹的全局变量money,可以看到
    1000
    [root@MiWiFi-R3-srv ~]#
    [root@MiWiFi-R3-srv ~]# export hobby='piao' #在儿子这里定义一个全局变量hobby
    [root@MiWiFi-R3-srv ~]# exit #退出,进入爹的bash环境
    exit
    [root@MiWiFi-R3-srv ~]# echo $hobby #爹是看不到儿子的export的,儿子的儿子可以看到
    [root@MiWiFi-R3-srv ~]#
    
    part6 定义变量名的边界
    [root@MiWiFi-R3-srv ~]# rest_mem=20
    [root@MiWiFi-R3-srv ~]# echo ${rest_mem}%
    20%
    
    part 7 数据类型
    bash中的变量无须声明,拿来就用.默认的变量都会是字符类型,还可以有数字类型,普通的脚本,这两种类型够用了
    
  • 相关阅读:
    【第一周】进度条
    【第二周】Java实现英语文章词频统计(改进1)
    【第二周】关于java.util包下的Random类
    【第二周】结对编程(宫丽君和林莉):四则运算
    【第二周】scrum站立会议
    【第二周】燃尽图
    【第二周】Java实现英语文章词频统计
    【第一周】读《构建之法》有感
    python:带参数的装饰器,函数的有用信息
    python:数据类型dict
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/13994615.html
Copyright © 2011-2022 走看看