1. 变量定义
跟编程语言不一样,shell变量没有类型,定义变量的时候,直接写变量名,然后赋值。比如name=liwsh,那么变量name的值就是liwsh了。打印变量名称用echo,echo ${name}。
2. 变量定义规则
- 变量与变量内容=连接,中间不能有空格,变量名不能数字打头,只能是字母和数字组合
- 变量内容有空格特殊字符,可以用双引号或者单引号括起来。双引号里面可以写变量,单引号里面不可以。比如'lang is $lang',这个变量的结果为lang is $lang。
- 变量有特殊字符($,空格,回车),用转义字符\
- 若为变量扩展内容,可以用${},比如PATH=${PATH}:/home/bin
- 若改变量需要其他子程序执行,可以用export使变量变成环境变量
3. 环境变量
我们shell中允许env,可以看到很多环境变量
- HOME,代表家目录,也就是cd ~跳转到的目录
- PATH,执行文件搜索的路径,要执行的命令,需要在path中定义
- LANG, 语言
- RANDOM 随机数,生成0-9的随机数 declare -i number=$RANDOM*10/32768 ; echo $number
- set 命令,可以查看所有变量(环境变量和自定义变量)
- ? 上一个执行指令所回传的值。指令执行都会返回一个值,如果为0代表指令执行成功,如果非0就是失败。我们可以用这个命令判断上一条指令的执行状态
4. 变量的有效范围
如果在跑程序的时候,有父子程序关系。则变量可否被引用于export有关。被 export 后的变量,我们可以称他为『环境变量』! 环境变量可以被子程序所引用,但是其他的自定义变量内容就不会存在于子程序中
5. 变量键盘读取
shell命令read可以从键盘读取输入内容
read -p "Please keyin your name: " -t 30 named
-p为提示语,-t为等待30s,后面的named为变量名,读进来的内容存放在此变量
6. declare 变量类型声明
shell中的变量默认都是字符串类型,比如输入sum=10+20+30,然后打印sum的值,发现sum是字符串10+20+30。这个时候我们要声明sum为整数数字,declare -i sum=10+20+30,sum的值才会等于60
网友评论