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中的变量无须声明,拿来就用.默认的变量都会是字符类型,还可以有数字类型,普通的脚本,这两种类型够用了
    
  • 相关阅读:
    leetcode-19-merge
    leetcode-18-remove
    R-codes-tips
    python-bioInfo-codes-2
    Java-framework-Vaadin
    leetcode-17-BST
    生物信息学-知识笔记-1
    leetcode-16-greedyAlgorithm
    perl-tips-1
    计算机网络HTTP、TCP/IP包
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/13994615.html
Copyright © 2011-2022 走看看