bash中的变量以及类型
2014-08-31 11:56
239 查看
一、本地变量:
只对当前shell进程有效,对其子shell以及其它shell均无效。
1、定义变量:[set] var_name=value;其中value支持强引用、弱引用、命令引用。
2、引用变量:${var_name}
3、撤销变量:unset var_name
3、$set:显示当前系统的所有变量(包括所有本地变量、局部变量和环境变量)。
二、局部变量:
仅对局部代码有效。
local var_name=value,value支持强引用、弱引用、命令引用。
三、环境变量:
对当前shell进程以及子shell有效。
1、定义变量:export(导出) var_name=value
2、#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:失败。)
$$:后面再介绍
$!:后面再介绍
$#:当前脚本所有位置参数的个数
$*:当前脚本所有位置参数明细
$@:当前脚本所有位置参数明细
例子:
#!/bin/bash
echo "this sum is :$[$1+$2]"
echo $#
echo $*
echo $@
六、变量名命名要求:
只能使用数字、字母和下划线组成。
不能以数字开头
不能使用程序中的关键字
见名知意
七、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的值不变。
只对当前shell进程有效,对其子shell以及其它shell均无效。
1、定义变量:[set] var_name=value;其中value支持强引用、弱引用、命令引用。
2、引用变量:${var_name}
3、撤销变量:unset var_name
3、$set:显示当前系统的所有变量(包括所有本地变量、局部变量和环境变量)。
二、局部变量:
仅对局部代码有效。
local var_name=value,value支持强引用、弱引用、命令引用。
三、环境变量:
对当前shell进程以及子shell有效。
1、定义变量:export(导出) var_name=value
2、#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:失败。)
$$:后面再介绍
$!:后面再介绍
$#:当前脚本所有位置参数的个数
$*:当前脚本所有位置参数明细
$@:当前脚本所有位置参数明细
例子:
#!/bin/bash
echo "this sum is :$[$1+$2]"
echo $#
echo $*
echo $@
六、变量名命名要求:
只能使用数字、字母和下划线组成。
不能以数字开头
不能使用程序中的关键字
见名知意
七、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的值不变。
相关文章推荐
- 权限管理2 以及bash的特性 快捷键,补全功能以及变量的类型,登录类型,脚本
- cgic中常用的函数和变量以及返回类型 (可作为工具查询)
- 再学Java基础(2)标识符,变量,数据类型。以及 if与for语句
- 变量、数据类型以及命名规则
- Object-C中的变量类型以及程序内存的内存分区
- 引用变量的类型强转以及InstanceOf方法的使用
- Linux下程式开发2 变量数据类型的代码以及编译&运算符与表达式
- Linux基础入门及系统管理01-bash脚本编程之一变量、变量类型等16
- PHP函数定义声明以及函数类型(回调函数,递归函数,重用函数。。)的介绍 变量的范围
- daliu_it java基础笔记之 变量和数据类型以及数据类型之间的转换以及转义字符
- Java的局部内部类以及final类型的参数和变量
- java中的局部变量、成员变量以及数据类型
- bash不对变量区分"类型"
- PHP-"php://(类型)"访问各个输入/输出流以及全局变量$HTTP_RAW_POST_DATA讲解
- 查询一个int类型的变量(数字)是否在一个字符串里边(逗号分隔的)以及 sqlif 与case
- 执行字符串SQL语句--带有参数的存储过程以及 int类型的字符串变量注意事项
- awk怎样自定义变量以及常用bash传递的变量
- Ubuntu 14.04 + QT 计算器开发实例1-----全局变量的使用以及double、字符串类型互转
- 全局结构体变量的初始化以及将结构体变量转换为char类型输出问题
- 2014.01.04php之变量类型以及常量使用