一、Shell编程_2Shell变量

一、Shell编程_2Shell变量

1. Shell变量的介绍:

1)Linux Shell中的变量分为:系统变量和用户自定义变量
2)系统变量:$ HOME、$ PATH、$ USER、$ PWD、$ SHELL、$ date 等等;
$ (date +%Y_%m_%d_%H%M%S):获取当前时间($ 在外面,date与后面必须有空格)
案例:[ ! -d "$ BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME" :
'-e’文件存在、-f文件存在且为常规文件、-d文件存在且为目录,
'!‘取反,表示不存在,’&&'如果前面的条件满足继续执行,'mkdir -p’创建多级目录,
'pwd’查看当前路径、'pwd -p’查看链接路径(如server上表示版本的default),
取反号 `` = $() :运行里面的命令,并把结果返回给前面的变量;

[root@hadoop1 shell]# vim myShell.sh
#!/bin/bash
echo "PATH=$PATH"
echo "USER=$USER"
[root@hadoop1 shell]# ./myShell.sh
PATH=/opt/jdk1.7.0_79/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
USER=root

3)显示当前shell中所有变量:set

2. Shell变量的定义:

基本语法
1)定义变量:变量名=变量值
(①变量名一般大写:②由字母、数字、下划线组成,但是不能以数字开头;③等号两侧不能有空格;④定义时不需要$ ,但是在引用、输出时需要在变量前加$ )

2)撤销变量:unset 变量
3)声明静态变量:readonly变量。注意静态变量:不能unset

快速入门:
案例1:定义变量A
案例2:撤销变量A
案例3:声明静态变量B=2,不能unset
案例4:可把变量提升为全局环境变量,可供其他shell程序使用

变量定义的规则:
1)变量名称可以由字母、数字、下划线组成,但是不能以数字开头;
2)等号两侧不能有空格;
3)变量名称一般习惯大写

将命令的返回值赋给变量(重点!!!):
在这里插入图片描述
例子:在这里插入图片描述

3. Shell设置环境变量:

基本语法:
1)export 变量名=变量值(功能描述:将shell变量输出为环境变量即 设置环境变量
2)source 配置文件(功能描述:让修改后的配置信息(文件)立即生效
3)echo $变量名(功能描述:输出变量值
快速入门:
1)在/etc/profile文件中定义TOMCAT_HOME环境变量
2)查看环境变量TOMCAT_HOME的值;
3)在另外一个shell程序中使用TOMCAT_HOME;
注意:在输出TOMCAT_HOME环境变量前,需要让其生效source /etc/profile
在这里插入图片描述

4. 位置参数变量:

介绍: 当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量
比如:./myshell.sh 100 200,这个就是一个执行shell的命令行,可以在shell脚本里获取到参数信息
基本语法:
$ n(功能描述:n为数字,$ 0代表命令本身,$ 1-$ 9代表第一到第九个参数,十以上的参数需要用大括号包含,如$ {10})
$ * (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
$ @ (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区别对待)
$ #(功能描述:这个变量代表命令行中所有参数的个数)
位置参数变量:
应用案例:编写一个shell脚本 positionPara.sh,在脚本中获取到命令行的各个参数信息;
在这里插入图片描述

5. 预定义变量:

基本介绍:就是shell设计者事先已经定义好的变量,可以直接在shell脚本里使用;
基本语法:
$ $ (功能描述:当前进程的进程号PID)
$ !(功能描述:后台运行的最后一个进程的进程号PID)
$?(功能描述:最后一次执行的命令的返回状态。如果这个变量值为0,证明上一个命令正确执行;
如果这个变量的值为非0(具体哪个数,有命令自己来决定),则证明上一个命令执行不正确了)
应用实例: 在一个shell脚本中简单使用一下预定义变量;
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值