bash脚本变量、变量类型
2017-04-21 11:23
232 查看
bash的变量类别有以下几类,区分好变量类别能让我们更好的理解bash基础:
本地变量(局部变量)
环境变量
特殊变量
位置变量
本地变量(局部变量)
作用域为整个bash进程。仅对当前shell进程有效,对子shell无效。
比较好理解的就是我复制了一个变量,我的子shell并不能够使用到这个变量
环境变量
作用域为当前shell进程及其子进程
查看环境变量的常用命令为:export env
特殊变量
$?:表示引用前一个命令的执行状态的返回值。在流程控制语句中判断条件都是执行状态返回值0为真其他为假
$#:参数的个数。
$*:参数列表,将命令行上提供的所有参数当作一个参数来保存。
$@:命令行参数,将命令行上提供的所有参数当作一个字符串中的多个独立的参数来保存。
位置变量
$1:同下面$2表示类型一样,表示传递一个参数
$2:同上,主要用来实现脚本传参(比如服务启动脚本)
$1,$2....用来引用脚本的参数
变量类型:书写确定数据的存储格式和长度
每个变量进行赋值后,其赋值的内容如果没有变量类型定义的话,可能就会出现内存溢出情况。定义变量类型能更好的让内存进行管理,对变量进行类型区分最重要的还是方便程序判断和运算
bash中变量类型分两类:字符、数值
字符:默认变量的赋值内容都是以字符串的方式存在
数值:
整型:如果按照上面的说明,变量内容都是以字符串方式存在的话,那么数值怎么办呢?可以做变量声明
浮点型:浮点型就是所谓的小数点
布尔型:真(true)、假(false)
变量之间的运算判断
与:&&
或:||
非:!
练习:写一个脚本,完成以下任务
1、添加5个用户,user1....,user5
2、每个用户的密码通用户名,而且要求,添加密码完成后不显示passwd命令的执行结果
3、每个用户添加完成后,都要显示用户某某添加成功
[root@xiangys0134_1 ~]# cat user.sh
#!/bin/bash
for x in user6 user7 user8 user9 user0
do
useradd $x
echo "$x"|passwd --stdin $x &>/dev/null
echo "$x添加成功"
done
练习:写一个脚本,完成以下任务
1、使用一个变量保存一个用户名
2、删除此变量中的用户,且一并删除其家目录
3、显示用户删除完成类的信息
[root@xiangys0134_1 ~]# cat del.sh
#!/bin/bash
for x in user0 user1 user2 user3 user4 user5 user6 user7 user8 user9
do
userdel -r $x
echo "删除${x}成功"
done
本地变量(局部变量)
环境变量
特殊变量
位置变量
本地变量(局部变量)
作用域为整个bash进程。仅对当前shell进程有效,对子shell无效。
比较好理解的就是我复制了一个变量,我的子shell并不能够使用到这个变量
环境变量
作用域为当前shell进程及其子进程
查看环境变量的常用命令为:export env
特殊变量
$?:表示引用前一个命令的执行状态的返回值。在流程控制语句中判断条件都是执行状态返回值0为真其他为假
$#:参数的个数。
$*:参数列表,将命令行上提供的所有参数当作一个参数来保存。
$@:命令行参数,将命令行上提供的所有参数当作一个字符串中的多个独立的参数来保存。
位置变量
$1:同下面$2表示类型一样,表示传递一个参数
$2:同上,主要用来实现脚本传参(比如服务启动脚本)
$1,$2....用来引用脚本的参数
变量类型:书写确定数据的存储格式和长度
每个变量进行赋值后,其赋值的内容如果没有变量类型定义的话,可能就会出现内存溢出情况。定义变量类型能更好的让内存进行管理,对变量进行类型区分最重要的还是方便程序判断和运算
bash中变量类型分两类:字符、数值
字符:默认变量的赋值内容都是以字符串的方式存在
数值:
整型:如果按照上面的说明,变量内容都是以字符串方式存在的话,那么数值怎么办呢?可以做变量声明
浮点型:浮点型就是所谓的小数点
布尔型:真(true)、假(false)
变量之间的运算判断
与:&&
或:||
非:!
练习:写一个脚本,完成以下任务
1、添加5个用户,user1....,user5
2、每个用户的密码通用户名,而且要求,添加密码完成后不显示passwd命令的执行结果
3、每个用户添加完成后,都要显示用户某某添加成功
[root@xiangys0134_1 ~]# cat user.sh
#!/bin/bash
for x in user6 user7 user8 user9 user0
do
useradd $x
echo "$x"|passwd --stdin $x &>/dev/null
echo "$x添加成功"
done
练习:写一个脚本,完成以下任务
1、使用一个变量保存一个用户名
2、删除此变量中的用户,且一并删除其家目录
3、显示用户删除完成类的信息
[root@xiangys0134_1 ~]# cat del.sh
#!/bin/bash
for x in user0 user1 user2 user3 user4 user5 user6 user7 user8 user9
do
userdel -r $x
echo "删除${x}成功"
done
相关文章推荐
- bash脚本编程之一变量、变量类型等
- bash脚本编程之——变量、变量类型
- bash脚本:变量和变量类型
- Linux学习笔记--bash脚本编程之一变量、变量类型
- bash脚本编程之一 变量、变量类型等
- 菜鸟学Linux 第014篇笔记 bash脚本(变量,变量类型)
- 权限管理2 以及bash的特性 快捷键,补全功能以及变量的类型,登录类型,脚本
- Linux基础入门及系统管理01-bash脚本编程之一变量、变量类型等16
- 菜鸟学Linux 第016篇笔记 bash脚本之文件测试,变量类型
- Shell(bash)脚本学习之--------内建/外建,自定义变量和环境变量
- [linux学习笔记]第2天:时间管理,命令帮助信息,文本查看,权限及用户管理,BASH和变量,脚本
- PHP学习之一:PHP脚本、类型和变量
- bash中的变量以及类型
- BASH命令和SHELL脚本总结(18)使用ACK在指定类型的文件中进行查找
- bash编程脚本之二 整数测试及特殊变量
- 玩转Bash脚本:特殊变量
- bash脚本中变量的使用
- shell脚本之变量、变量类型、条件测试、算术运算、及特殊变量
- shell bash 脚本特殊变量
- Bash脚本之变量的使用