Shell编程之read命令、declare声明变量

read命令

收到键盘操作,完成人机交互式操作

用法

命令格式:
read 参数 变量名
参数:
-p:“提示信息”
-t:秒数,设置秒数,过了时间,自动加载下一行内容
-n:字符数量,设置字符数量,输入的字符数达到要求,自动下一行
-s:隐藏输入信息


#!/bin/bash
#read 
#laoxu

read -p "name:" name
#设置了提示信息
echo -n "age(10s):"
read -t 10 age
echo
#age变量只有10s的写入时间
echo -n "passwd:"
read -s passwd
echo
#passwd变量输入不显示
echo -n "gender(m/w):"
read -n 1 gender
echo
#gender变量只可以输入一个字符,输入完成自动回车
echo -e "\e[33;1m******$name Personal Information *******\e[0m"
echo "name:$name"
echo "age:$age"
echo "passwd:$passwd"
echo "gender:$gender"
。。。。。。。。。。。。。。。。。。。。。。。。
[root@lx102 /sh]# bash read.sh 
name:LAOX    #交互
age(10s):18    #交互
passwd:    #交互
gender(m/w):M    #交互
******LAOX Personal Information *******
name:LAOX
age:18
passwd:123123
gender:M
read自定义变量

变量名可以自定义,如果不定义,则默认为REPLY变量名

如果只有一个变量名,那么输入的多个值,会当作整体给这个变量

如果多个变量名,输入的多个值,会一对一的赋予,剩下的值都会给最后一个变量

#!/bin/bash

echo "Please enter your Name, Age, Gender, Phone Number, Home Address"
read name age gender ph addr

echo -e "Name:$name\nAge:$age\nGender:$gender\nPhone Number:$ph\nHome Adderss:$addr"

declare声明变量

格式:
declare 【+/-】 参数 变量名

参数:
-a:声明为数组型
-i:声明为整数型
-x:声明为环境变量
-r:声明为只读
-p:查看声明变量指定类型的参数内容

-a:声明为数组型

数组变量也可以叫下标变量,我们再变量后加[],[]中加下标编号

格式:
declare -a abc=’([0]=“值” [1]=“值” [2]=“值”)’

echo ${变量名[编号]} 来查看,下标编号从0开始

[root@localhost ~]# teacher[0]=lao
[root@localhost ~]# teacher[1]=xu
[root@localhost ~]# teacher[2]=zhen
[root@localhost ~]# teacher[3]=shuai
[root@localhost ~]# echo $teacher
lao
[root@localhost ~]# echo "${teacher[*]}"
lao xu zhen shuai
[root@localhost ~]# echo "${teacher[2]}"
xu
-i:声明为整数型

-i后,可以进行运算

declare -i a=100
declare -i b=200
declare -i s=$a+$b
echo $s
300
-x:声明为环境变量

-x,与export功能相同,都是声明环境变量
可以通过env 查看

-r:声明为只读

-r,声明为只读变量,不能删除,不能更改,不能取消声明
如果想不要这个只读声明。只可以退出当前shell环境,exit

-p:查看声明变量指定类型的参数内容
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值