bash脚本变量、变量类型

bash的变量类别有以下几类,区分好变量类别能让我们更好的理解bash基础:

本地变量(局部变量)

环境变量

特殊变量

位置变量

本地变量(局部变量)

作用域为整个bash进程。仅对当前shell进程有效,对子shell无效。

比较好理解的就是我复制了一个变量,我的子shell并不能够使用到这个变量

环境变量

作用域为当前shell进程及其子进程

查看环境变量的常用命令为:export env

特殊变量

$?:表示引用前一个命令的执行状态的返回值。在流程控制语句中判断条件都是执行状态返回值0为真其他为假

$#:参数的个数。

$*:参数列表,将命令行上提供的所有参数当作一个参数来保存。

[email protected]:命令行参数,将命令行上提供的所有参数当作一个字符串中的多个独立的参数来保存。

位置变量

$1:同下面$2表示类型一样,表示传递一个参数

$2:同上,主要用来实现脚本传参(比如服务启动脚本)

$1,$2....用来引用脚本的参数

变量类型:书写确定数据的存储格式和长度

每个变量进行赋值后,其赋值的内容如果没有变量类型定义的话,可能就会出现内存溢出情况。定义变量类型能更好的让内存进行管理,对变量进行类型区分最重要的还是方便程序判断和运算

bash中变量类型分两类:字符、数值

字符:默认变量的赋值内容都是以字符串的方式存在

数值:

整型:如果按照上面的说明,变量内容都是以字符串方式存在的话,那么数值怎么办呢?可以做变量声明

浮点型:浮点型就是所谓的小数点

布尔型:真(true)、假(false)

变量之间的运算判断

与:&&

或:||

非:!

练习:写一个脚本,完成以下任务

1、添加5个用户,user1....,user5

2、每个用户的密码通用户名,而且要求,添加密码完成后不显示passwd命令的执行结果

3、每个用户添加完成后,都要显示用户某某添加成功

[[email protected]_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、显示用户删除完成类的信息

[[email protected]_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

时间: 2024-10-14 05:37:55

bash脚本变量、变量类型的相关文章

玩转Bash脚本:变量基本概念及其初始化

总第2篇 基本概念 命名 注意以下规则: 只能包含字母.数字和下划线,并且不能以数字开头 大小写敏感 不能和系统变量重名 除此以外,如果要导出为全局变量,名称最好要全部大写.这只是一种习惯的约定,并非严格的约束. 类型 几乎所有的编程语言都有变量的概念,Bash当然也不例外.说道变量就少不了说一说类型.但与其他语言不同的是Bash属于无类型语言,如果强要说一种类型,可以认为都是字符串.说到这里,你可能会说,Bash里面也有整数类型吧,好像有整数的运算.但其是通过一些运算符,表达式或者命令将字符串

bash脚本的变量使用详解

变量的类型包括整数.字符串和数组,但在bash脚本编程中不需要指定类型就可以直接赋值,默认均为字符型,其参与运算会自动进行隐式类型转换. 变量的赋值方式为:name='value',其中"="两边一定不能有空格,如果变量值中包含有空格则需要使用引号引起来,需要注意的是强引用和弱引用的区分.此外变量的赋值也可以引用变量和命令,如果引用变量赋值需要使用双引号,如果引用命令赋值需要使用反向单引号.变量的引用需要使用"$"符号,如引用变量PATH:$PATH 或 ${PAT

Bash脚本编程变量浅谈

Bash(GNU Bourne-Again Shell)是一个为GNU计划编写的Unix shell,它是许多Linux平台默认使用的shell. Bash脚本编程的变量: 1.$BASH 表示的是Bash的二进制程序文件的路径 eg:编辑bash文件例如1.sh,在其中输入如下代码: 然后保存运行,就会出现bash脚本解释器的路径. 2.$FUNCNAME 表示的是当前函数的名字 eg:编辑bash文件2.sh,在其中输入如下代码: 运行该bash文件结果如下: $FUNCNAME作用于函数体

bash 脚本编程 变量、变量类型

Shell 脚本编程 fgrep fast grep 快速检索文本但是不支持正规则表达式 编程语言: 机器语言.汇编语言.高级语言(需编译) 编译器or解释器: 是用来把人类所能识别的语言(通常为高级语言)翻译成机器所能识别 的语言(即机器语言) 静态语言:编译型语言 强类型(变量) 关键字 事先完全转换成可执行格式 C.C++.JAVA.C#...等 动态语言:解释型语言 强类型(变量) 边解释边执行 PHP.SHELL.Python.Perl 编程模型: 面向过程: 所对应的语言:Shell

bash脚本编程 变量 一

bash变量类型 环境变量 本地变量(局部变量) 位置变量 特殊变量 本地变量: VARNAME=VALOE:作用域为整个bash进程 局部变量: local VARNAME=VALOE:作用域为当前代码段 环境变量: 类似于本地变量:作用域为当前shell进程及其子进程 export VARNAME=VALOE 位置变量: $1  $2表示 特殊变量: $?:上一个命令的执行状态返回值 程序执行,有两类可能的返回值: 1.程序执行结果 2.程序状态返回代码(0-255) 0:表示正确执行 1-

bash脚本编程之变量、变量类型、条件测试、算术运算、及特殊变量

一.学习目的 1.了解bash脚本的变量类型及变量的使用 2.了解bash中条件测试的种类及如何在bash中实现条件的判断 3.学会在bash中做算术运算 4.了解特殊变量的使用 二.学习内容 1). ①.bash的变量类型: 环境变量 .本地变量.局部变量.位置变量.特殊变量 环境变量: export VALUENAME = VALUE 作用领域是当前的shell进程及其子进程 本地变量: VALUENAME= VALUE 作用领域为整个bash的进程 局部变量:local VALUENAME

Linux Bash脚本基本语法知识

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 前提:读者能够基本使用一款文本编辑器以及了解文件的权限概念. 准备工作 在/home目录创建script文件用于保存所有的脚本程序: # mkdir /home/script # cd /home/script/ Bash脚本的基本输入输出 第一个bash脚本: # vim ./hello-world.sh 说明: "#!"是一个约定标记,它告诉系统这个脚本需要什么解释器来执行 作为可

bash脚本编程之一 变量、变量类型等

shell编程: shell:弱类型编程语言 强:变量在使用前,必须事先声明,甚至还需要初始 弱:变量用时声明,甚至不区分类型 bash变量类型: 环境变量 本地变量 位置变量 特殊变量 本地变量: VARNAME=VALUE:作用域为整个bash进程: 局部变量: local VARNAME=VALUE:作用域为当前代码段: 环境变量:作用域为当前shell进程及其子进程 export VARNAME=VALUE 位置变量: $1,$2,.... 特殊变量: $?:上一个命令的执行状态返回值:

bash脚本编程之(1/4) 变量、变量类型等笔记

Shell编程: 编译器,解释器 编程语言: 机器语言.汇编语言.高级语言 静态语言: 编译型语言 强类型(变量) 事先转换成可执行格式 c\c++\JAVA\c# 动态语言: 解释性语言 弱类型 边解释边执行 asp/asp.net/php/shell/python/perl Shell: 弱类型编程语言 强类型: 变量在使用前,必须事先声明,甚至还需要初始: 弱类型: 变量用时声明,甚至不区分类型: 面向过程: Shell C 面向对象: JAVA Python, perl, c++ 变量: