【shell】1、变量的声明、引用及作用域
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、变量的声明、引用及作用域的更多相关文章
- shell与变量的声明的操作
1.给命令起别名:alias 执行下面命令后,可以使用dir代替ls –l 命令,显示目录中的文件详细信息: 还可以用一个别名表示几个命令 的结合: 2.ps:显示当前登录会话的所有活动进程: 3.更 ...
- Linux Shell编程变量赋值和引用
我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): #!/bin/sh ... 注意:最好使用“! ...
- [Golang学习笔记] 05 程序实体2 作用域访问权限和变量重声明
作用域访问权限: 程序实体访问权限(作用域)有三种:1. 包级私有(代码包)2. 模块级私有(代码包)3. 公开(全域). 一个函数是一个代码块.一个程序实体的作用域总是会被限制在某个代码块中.好处: ...
- 《Java基础知识》Java变量的声明、初始化和作用域
一.Java变量的声明 在 Java 程序设计中,每个声明的变量都必须分配一个类型.声明一个变量时,应该先声明变量的类型,随后再声明变量的名字.下面演示了变量的声明方式. double salary; ...
- shell通配符, 变量, shell作用域
1. 指定格式输出当前时间: echo `date +%Y%m%d` # 注意使用反引号, +号后面不要有空格 反引号中的东西会被当做命令来执行, 并输出执行的结果 2. $uid用于判断当前是否是 ...
- java代码声明引用变量经验
1.static只能修饰类的成员变量,不能修饰方法里的局部变量. 因为static是在类加载时候将成员变量存储进方法区的. 加载类的时候,是不去执行方法里的函数的.所以不会馆方法里的代码,自然就不会读 ...
- 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和"普通变量"之完全解读
2015-05-08 00:15 3896人阅读 评论(10) 收藏 举报 本文章已收录于: 分类: 软件开发进阶(419) 作者同类文章X Unix/Linux杂项(118) 作者同类文章X ...
- SHELL脚本--变量(基础)
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 变量存在于内存中.假设变量str,设置或修改变量属性时,不带$ ...
- shell 编程 变量
转自:http://blog.csdn.net/qq504196282/article/details/52994249 shell之变量和引用 分类:SHELL编程基础 (470) (0) 举报 ...
- SHELL脚本--变量
环境变量 环境变量就是运行在"环境"上下文的,在这个上下文都可以引用.例如,常见的cd.ls等命令严格来说应该使用绝对路径如/bin/ls来执行,由于/bin目录加入到了PATH环 ...
随机推荐
- Docker部署ELK 7.0.1集群之Kibana安装介绍
1.下载镜像 [root@vanje-dev01 ~]# docker pull kibana: 2.安装部署 2.1 创建宿主机映射目录 [root@vanje-dev01 ~]# mkdir /e ...
- Java开发笔记(一百一十五)使用Socket开展文件传输
前面介绍了怎样通过Socket在客户端与服务端之间传输文本,当然Socket也支持在客户端与服务端之间传输文件,因为文件本身就是通过I/O流实现读写操作的,所以在套接字的输入输出流中传输文件真是再合适 ...
- linux全面详细转载文章
在网上发现了一位大佬写的linux各种命令.系统.配置等的详细解析,在此转载保留以便学习! 骏马金龙https://www.cnblogs.com/f-ck-need-u/p/7048359.html
- 20190715《Python网络数据采集》第 1 章
<Python网络数据采集>7月8号-7月10号,这三天将该书精读一遍,脑海中有了一个爬虫大体框架后,对于后续学习将更加有全局感. 此前,曾试验看视频学习,但是一个视频基本2小时,全部拿下 ...
- Android手机的分区以及一些刷机术语的了解
最早以前的手机基本都是下载一个刷机软件(像刷机精灵.刷机大师),一键root,一键刷机,这就以前的傻瓜式刷机,至少我在高中(2015年开始接触)的时候也是这么干的.那时候,好像有种手机开机界面会出现“ ...
- JDK并发的类
Future : 提前完成任务 原理:wait(),notify()的使用. 线程之间的通信 : CountDownLatch :线程计数 CyclicBarrier :循环计数 Semaphore ...
- CLASSPATH 环境变量设置
当 JVM 运行时,如果设置了 CLASSPATH 变量,那么 JVM 会到该目录下寻找 java 类文件 该变量配置的方式不同,寻找顺序也不同 在我的 D:\tmp\java\quickstart\ ...
- Oracle - 实现MySQL的limit功能
MySQL的limit功能是获取指定行数的数据,Oracle没有这个limit,但是有其它方法. oracle数据库不支持mysql中limit功能,但可以通过rownum来限制返回的结果集的行数,r ...
- 分享linux系统more基本命令python源码
此python源码是linux系统more基本命令的实现. 实现linux中more的基本功能,当more后加一个文件名参数时候,分屏显示按空格换页,按回车换行',在左下角显示百分比; 以处理管道参数 ...
- UCOSIII事件标志组
两种同步机制 "或"同步 "与"同步 使能 #define OS_CFG_FLAG_EN 1u /* Enable (1) or Disable (0) cod ...