02 变量

一 变量介绍

什么是变量?
变指的是事物的状态是可以发生变化的
量指的是记录事物的状态
变量本质就是一种事物存取的机制,变量的数据都是存放于内存中的

为何要有变量?
程序运行的本质就是一系列状态的变化

二 变量的使用

2.1 先定义、后引用

name='shell'
echo $name

2.2 删除变量 ‘unset’

name='shell'
unset name

三 变量的三大组成部分

  1. 变量名:用来访问变量值的
  2. 赋值符号:将变量值的内存地址绑定给变量名
  3. 变量值:存储的数据

3.1 变量名的命名规范

  • 以字母开头
  • 使用中划线或下划线做单词的连接
  • 同类型的使用数字区分
  • 对于文件名的命名最好在末尾加上扩展名

3.2 变量值的三种来源

(1)直接赋值

ip=192.168.0.1
name='shell'
today1=`date +%F`
today2=$(date +%F)

(2)从位置参数获取变量值

# 企业使用:可以实现脚本的不同功能(服务程序管理脚本-启动功能 关闭功能 重启功能)
server.sh  start|stop|restart
$1 -> start
$2 -> stop
$3 -> restart

(3)与用户交互获取值

# 一:read接收用户的输入,即从键盘读入变量值
read 变量名
read -p "提示信息: "  变量名
read -t 5 -p "提示信息: "  变量名  # -t指定秒数
read -n 2 变量名  # -n读取的字符个数
# 二:输出
# 2.1 echo命令
echo -e 'hello shell'
# 2.2 prinf命令
name='shell'
age='18'
print "my name is %s my age is %s\n" $name $age

四 预定变量

$*	所有的参数
$@ 	所有的参数
$# 	参数的个数
$$ 	当前进程的PID 
$?	上一个命令的返回值 0表示成功	

[root@localhost ~]# cat a.sh 
#!/usr/bin/env bash
echo $*
echo $@
echo $#
echo $$
[root@localhost ~]# chmod +x a.sh
[root@localhost ~]# ./a.sh a1 a2 a3 a4 a5


#针对for循环语句:for i in 元素,for循环会按照空格作为分隔符来一个个取元素,所以此时 `$*`与 `$@`并无区别
[root@localhost ~]# cat script.sh 
#!/bin/bash
for i in $*
do
    echo $i
done
echo "=================="
for i in $@
do
    echo $i
done
[root@localhost ~]# 
[root@localhost ~]# ./script.sh 命令1 命令2 命令3
命令1
命令2
命令3
==================
命令1
命令2
命令3
[root@localhost ~]# cat script.sh 
#!/bin/bash
for i in "$*"
do
    echo $i
done
echo "=================="
for i in "$@"
do
    echo $i
done

[root@localhost ~]# ./script.sh 命令1 命令2 "命令3 参数"
命令1 命令2 命令3 参数
==================
命令1
命令2
命令3 参数

五 常量

相对于变量,常量就是不可以被改变的量,又称只读变量

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值