bash中的变量以及类型

一、本机变量:支队当前shell进程有效,对其子shell以及其它shell均无效。

定义变量:[set] var_name=value;其中value支持强引用、弱引用、命令引用。

引用变量:${var_name}

撤销变量:unset var_name

$set:显示当前系统的所有变量(包括所有本地变量、局部变量和环境变量)。

二、局部变量:仅对局部代码有效。

local var_name=value,value支持强引用、弱引用、命令引用。

三、环境变量:对当前shell进程以及子shell有效。

export(导出) var_name=value

#export:显示环境变量,也可以用命令#env,#printenv显示环境变量。

四、位置变量:

如/tmp/test.sh 2 89

$0:脚本本身,如上例/tmp/test.sh

$1:脚本的第一个参数,如上例2

$2:脚本的第一个参数,如上例89

$....$n

例:写一个脚本pos.sh,计算输入连个参数的之和。

#!/bin/bash

echo "this sum is :$[$1+$2]"

执行./pos.sh 2 3,结果为 5

五、特殊变量:如$0:脚本名称本身

$?:上一条命令的执行状态(0:成功;1-255:失败。)

$$:后面再介绍

$!:后面再介绍

$#:当前脚本所有位置参数的个数

$*:当前脚本所有位置参数明细

[email protected]:当前脚本所有位置参数明细

例子:

#!/bin/bash

echo "this sum is :$[$1+$2]"

echo $#

echo $*

echo [email protected]

六、变量名命名要求:

只能使用数字、字母和下划线组成。

不能以数字开头

不能使用程序中的关键字

见名知意

七、read 交互式脚本:

例子:#!/bin/bash

echo "Enter a Number:"

read num1

echo $num1

read 还有一个-p信息提示选项,则下面的脚本和上面的脚本一个意思,

#!/bin/bash

read -p "Enter a Number:" num1

echo $num1

例子:read a b,就是交互式对变量a和b赋值

如果回车后输入11 22,则a=11 b=22

如果回车后输入11 22 33,则a=11 b=22 33,也就是说后面的值全给b

八、给变量以默认值:

varName=${varName:-value}

如果varName不空,则其值不变,否则,varName会使用value最为其值。

如:a=${a:-45},如果a的值为空,则给a赋值45,否则a的值不变。

时间: 2024-11-05 15:09:04

bash中的变量以及类型的相关文章

Linux学习日记--基础命令(7)--bash中的变量,配置文件

变量的定义和使用 变量类型 强类型:定义变量时必须指定类型.参与运算必须符合类型要求:调用未声明变量会产生错误: 弱类型:无须指定类型,默认均为字符型:参与运算会自动进行隐式类型转换:变量无须事先定义可直接调用: 变量命名法则:                1.不能使程序中的保留字:例如if, for;                 2.只能使用数字.字母及下划线,且不能以数字开头:                3.见名知义,         bash中的变量的种类:          

bash中的变量

1.bash中的变量: #命令set:显示所有变量. (1).本地变量:只对当前shell进程有效,对其子shell以及其它shell都无效. 定义本地变量:[set]变量名="Value",例animal=dog 引用本地变量:${变量名},其中{}通常省略,例echo $animal 撤销本地变量:unset 变量名,例unset animal (2).局部变量:只对局部代码有效 定义局部变量:local 变量名=变量值 (3).环境变量:当前shell进程以及其子shell都有效

Bash中的变量类型

变量的类型: 本地变量:只对当前shell进程有效,对其子shell以及其它shell都无效: 定义变量: [set]Var_Name="Value" 引用变量: ${Var_Name} 撤销变量: unset Var_Name 局部变量:仅对局部代码生效 local Var_Name="Value" 环境变量:对当shell进程及其子shell有效: export Var_Name="Value" 先赋值Var_Name="Value

在Linux系详解Linux bash中的变量

(大讲台:国内首个it在线教育混合式自适应学习) 统中进行日常运维或者是编写脚本时,变量是再熟悉不过的了,但这些变量都有哪些类型,具体的用法又有哪些差异呢?本文整理分享给大家: 一.bash变量类型: 本地变量 局部变量 环境变量 位置变量 特殊变量(内置) 二.本地变量: varname=value:作用域为整个bash进程可以使用: 变量命名规范: 1. 只能含字母.数字和下划线,并且以字母和下划线开头 2. 最好不要跟系统已有的环境变量重名 3. 见名知意 三.局部变量: local va

Linux bash中的变量分类

1.本地变量 VAR=XYZ 2.局部变量 local VAR=XYZ 3.环境变量 在子shell中可以起作用 export VAR=XYZ 4.位置变量 $0 脚本名本身 $1 第一个参数 $2 第二个参数 ... ${10} 第十个参数 ${11} 第十一个参数 shift 依次向后移动参数 比如:分别显示第一.二.三个参数 !#/bin/bash echo $1 shift echo $1 shift echo $1 5.特殊变量 $? 脚本执行状态(0--正确,1-255错误,1/2/

bash 中的变量

Linux command line 笔记 变量无需声明,自动创建 var=abc #变量a赋值为字符串abc var="hello world" #字符串里有空格赋值要加引号 var="hello world $var" #任何可以扩展成字符串的都可以赋给变量 var=$(ls -l *.md) # 输出结果为字符串的命令 var=$(5*5) #运算符 var="hello\nworld" #转义字符串序列,例子中的\n 最后一个转义字符赋值

Bash 中 SHLVL 变量为空的时候

SHLVL 环境变量代表 Shell 嵌套执行的深度. $ echo $SHLVL 1 $ bash $ echo $SHLVL 2 $ bash $ echo $SHLVL 3 在 Bash 里,这个值的范围是 [1, 1000],在 1001 的时候会重置到 1. $ SHLVL=1000 $ bash bash: warning: shell level (1001) too high, resetting to 1 $ echo $SHLVL 1 我也本以为就是这样了,然而却发现个特例:

bash 中的变量可以这么用

举个例子: t.sh ====================== #!/bin/bash ./a.sh ./b.sh ======================= a.sh ====================== #!/bin/bash VALUE=66666666666666 ====================== b.sh ====================== echo $VALUE ====================== 运行./t.sh 结果: 666666

shell中的变量及shell条件判断

Shell 基础之变量和条件判断 一.shell概述 1.shell概述: shell是一个命令行的解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统及程序,用户可以用shell来启动.挂起.停止甚至编写一些程序,shell还是一个功能强大的编程语言,shell是解释性的脚本语言,在shell中可以直接调用Linux命令. 2.shell脚本的用途 (1)自动化常用的命令 (2)执行系统管理和故障排除 (3)执行简单的应用程序 (4)处理文本或文件 3.shell的分类 (1