shell程序
  • 以文件形式存放批量的Linux命令集合,该文件能够被Shell解释执行,这种文件就是Shell脚本程序
  • 通常由一段Liunx命令、Shell命令、控制语句以及注释语句构成
  • Shell脚本的编写
    • Shell脚本是纯文本文件,可以使用任何文本编辑器编写
    • Shell脚本通常是以.sh作为后缀名
语法
  • 第一行指定 #!/bin/bash 或者 #!/bin/sh
  • 使用#注释

变量
  • 变量名必须以字母或者下划线开头
  • 变量名关于大小写敏感
  • 取值: echo $name 或者 echo ${name}
  • 写入:name="hw" 等号两边不能有空格
  • 如果参数有空格需要用"hello world"引起来
变量类型
  • 本地变量:只存在当前session
  • 全局环境变量:/etc/profile 按照惯例需要大写
  • 用户环境变量:/.bash_profiles

位置参量
  • 需要使用 $1-$9 / ${10+} 来显示变量参数
  • $0 :表示当前脚本的文件名
  • $# :显示当前脚本的参数个数
  • $* :以单个字符串显示所有的位置参量
  • $! :最后一个后台运行的进程的进程号
  • $? :显示前面最后一个命令的退出状态。0表示没有错误,其他任何值表示有错误
执行脚本
  • . test.sh
  • ./test.sh
  • sh test.sh

数组的定义、引用
  • arr=(zhangsan lis wangz):定义数组
  • echo ${arr[0]}:查看数组元素
  • echo ${arr[*]}:列出数组所有的元素
  • echo ${#arr[*]}:查看数组的元素个数
  • arr[0]=zhangsan:赋值

date命令
  • date +%Y-%m-%dT%H:%M:%S:格式化日期
[root@fz hw]# date +%Y-%m-%dT%H:%M:%S
2018-08-06T17:39:04
  • ${date +%Y-%m-%d}:shell中定义
  • ${date --date='2 days ago' +%Y-%m-%d}:两天前
  • ${date --date='-1 days ago' +%Y-%m-%d}:一天后
  • date -s 2018-09-01:设置日期
  • cal 12 2018:查看2018年12月日历

【shell】1、变量的声明、引用及作用域的更多相关文章

  1. shell与变量的声明的操作

    1.给命令起别名:alias 执行下面命令后,可以使用dir代替ls –l 命令,显示目录中的文件详细信息: 还可以用一个别名表示几个命令 的结合: 2.ps:显示当前登录会话的所有活动进程: 3.更 ...

  2. Linux Shell编程变量赋值和引用

    我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):   #!/bin/sh  ...  注意:最好使用“! ...

  3. [Golang学习笔记] 05 程序实体2 作用域访问权限和变量重声明

    作用域访问权限: 程序实体访问权限(作用域)有三种:1. 包级私有(代码包)2. 模块级私有(代码包)3. 公开(全域). 一个函数是一个代码块.一个程序实体的作用域总是会被限制在某个代码块中.好处: ...

  4. 《Java基础知识》Java变量的声明、初始化和作用域

    一.Java变量的声明 在 Java 程序设计中,每个声明的变量都必须分配一个类型.声明一个变量时,应该先声明变量的类型,随后再声明变量的名字.下面演示了变量的声明方式. double salary; ...

  5. shell通配符, 变量, shell作用域

    1. 指定格式输出当前时间: echo `date +%Y%m%d`  # 注意使用反引号, +号后面不要有空格 反引号中的东西会被当做命令来执行, 并输出执行的结果 2. $uid用于判断当前是否是 ...

  6. java代码声明引用变量经验

    1.static只能修饰类的成员变量,不能修饰方法里的局部变量. 因为static是在类加载时候将成员变量存储进方法区的. 加载类的时候,是不去执行方法里的函数的.所以不会馆方法里的代码,自然就不会读 ...

  7. 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和"普通变量"之完全解读

      2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于:   分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X ...

  8. SHELL脚本--变量(基础)

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 变量存在于内存中.假设变量str,设置或修改变量属性时,不带$ ...

  9. shell 编程 变量

    转自:http://blog.csdn.net/qq504196282/article/details/52994249 shell之变量和引用 分类:SHELL编程基础 (470)  (0)  举报 ...

  10. SHELL脚本--变量

    环境变量 环境变量就是运行在"环境"上下文的,在这个上下文都可以引用.例如,常见的cd.ls等命令严格来说应该使用绝对路径如/bin/ls来执行,由于/bin目录加入到了PATH环 ...

随机推荐

  1. SpringMVC笔记1

    SpringMVC是一个一种基于Java的实现MVC设计模型的请求驱动类型的轻量级web框架 SpringMVC的入门案例 2.导入相关jar包 <?xml version="1.0& ...

  2. Educational Codeforces Round 71

    https://www.cnblogs.com/31415926535x/p/11460682.html 上午没课,做一套题,,练一下手感和思维,,教育场的71 ,,前两到没啥,,后面就做的磕磕巴巴的 ...

  3. 启迪链网通证经济共同体:柏链教育&火聘online推出区块链行业人才“一门式”服务

    近日,启迪链网通证经济共同体旗下两个节点成员柏链教育与火聘online,达成节点间的合作,据悉本次合作是采用共同体的生态共建模式,柏链教育与火聘online共享企业端岗位需求的大数据,然后有针对性的开 ...

  4. mysq 连表更新

    update table1 a left join table2 b on a.id = b.user_id left join table3 c on a.id = c.user_idset a.p ...

  5. spring源码解析前瞻

    很多人有疑问:为什么要读源码?读源码有什么用?我也一直问自己这些问题,读源码非常枯燥,工作中又用不到,慢慢的自己读源码越发现自己知识的不足,无法把知识串起来,形成知识体系.从单系统中常用的Spring ...

  6. Java调用WebService方法总结(9,end)--Http方式调用WebService

    Http方式调用WebService,直接发送soap消息到服务端,然后自己解析服务端返回的结果,这种方式比较简单粗暴,也很好用:soap消息可以通过SoapUI来生成,也很方便.文中所使用到的软件版 ...

  7. jdk安装以及Java环境配置

    jdk其实自己大一的时候就已经装过,java环境也配置过,但是随着后面学习的东西越来越多,要安装的软件也越来越多,一开始没有安装路径的概念,好多东西都放的很乱.接着这次自己复习java的机会,于是重新 ...

  8. 3.怪异盒模型box-sizing?弹性盒模型|盒布局?【HTML】

    在标准模式下的盒模型:盒子总宽度/高度=width/height+padding+border+margin 在怪异模式下的盒模型下,盒子的总宽度和高度是包含内边距padding和边框border宽度 ...

  9. 在safari下input的placeholder设置行高失效

    在项目中遇到input的placeholder在safari下设置行高失效的问题,亲测 input{ width:250px; height:30px; line-height:30px; font- ...

  10. 如何在SAP UI5应用里添加使用摄像头拍照的功能

    昨天Jerry的文章 纯JavaScript实现的调用设备摄像头并拍照的功能 介绍了纯JavaScript借助WebRTC API来开发支持调用设备的摄像头拍照的web应用.而我同事遇到的实际情况是, ...