七、Linux shell基础 bash变量

变量用来存储信息,不能以数字开头,可以由字母、下划线、数字组成。
默认类型时字符串类型,进行数值运算时,要指定变量类型为数值型。
赋值用=号,变量和等号之间不能有空格,变量里有空格时,要用单引号或双引号括起来

1、用户自定义变量

定义变量:
name="hello"
调用变量: 变量名前加$
echo $name
变量叠加:
name="$name"world
name=${name}world
set查看变量
unset删除变量

2、环境变量

用户自定义变量只在当前shell中生效
环境变量写入配置文件后,在所有shell中生效
export 变量名=变量值
env查询变量
unset删除变量
PATH  //
PS1 //定义系统提示符的变量

3、位置参数变量

向脚本中传递参数或数据
$n n为数字,$0表示命令本身,$1-$9代表第一个参数到第九个参数,十以上要用大括号包含,${10}
$*	  代表命令行中的所有参数,把所有参数看作一个整体
$@	代表命令行中的所有参数,把所有参数区别对待
$# 代表命令行中的所有参数的个数
例子:
vi canshu1.sh   //编写一个脚本,功能是输出从键盘上输入的内容
/////////////////////
#!/bin/bash
echo $1  输出第一个参数的内容
echo $2  输出第二个参数的内容
echo $3  输出第三个参数的内容
/////////////////////
chmod 777 canshu1.sh  //要修改权限
./canshu1.sh 11 22 33 //结果就会输出11 22 33 这三个数

4、预定义变量

$? 最后一次执行命令的返回状态,值为0,表示正确运行,非0,不正确
$$ 当前进程的进程号
$!	后台运行的最后一个进程的进程号
例子:
输入:
ls
echo $?   输出0,因为ls正确执行
lstbhbj 
echo $?  输出127,因为没有这个命令,输出的数字是系统定义好的

read [选项][变量名]
-p 提示信息
-t 秒数 等待时间
-n 字符数  指定输入的字符数
-s 隐藏输入的数据,例如输入密码时
例子:
vi canshu2.sh      //编辑canshu2.sh脚本
//////////////////////////
#!/bin/bash
read -t 20 -p "please input name" name   //输入姓名
echo $name
read -t 20 -s -p "please input name" age    //隐藏输入年龄
echo $age
read -n 10 -t 20 -p "please input name" ch    //输入长度为10的ch
echo $ch
/////////////////////////
chmod canshu2.sh
bash canshu2.sh

5、数值运算与运算符

declare [+/-] [选项] 变量名
+  取消变量的类型属性
-  给变量设定类型属性
-i 将变量声明为整型
-x 将变量声明为环境变量
-p 显示指定变量的被声明的类型

expr
dd=$(expr $a + $b)  +号两边有空格,此语句也是求a,b之和
 ff=$(($a+$b)) 此语句也是求a,b之和

6、变量测试与内容替换
根据y的值对一个新的变量x赋值,使用时对照表格即可。
在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/ywh15387127537/article/details/88532254