变量的类型:
数据存储格式,存储空间大小,参与运算种类;
字符型
数值型:
整型:整数
浮点型:带小数点
强类型:定义变量时必须指定类型,参与运算必须符合类型要求
弱类型:无须指定类型,默认均为字符;参与运算会自动进行隐式类型转换;
bash的变量种类
根据变量的生效范围等标准:
本地变量:生效范围为当前shell进程,对当前shell之外的其它shell进程,包括当前shell的子进程均无效;
环境变量:生效范围为当前shell进程及其子进程;
局部变量:生效范围为当前shell进程中某代码片断(通常指函数);
位置变量:$1,
2...
来
表
示
,
用
于
让
脚
本
代
码
中
调
用
通
过
命
令
行
传
递
给
它
的
参
数
;
特
殊
变
量
:
2...来表示,用于让脚本代码中调用通过命令行传递给它的参数; 特殊变量:
2...来表示,用于让脚本代码中调用通过命令行传递给它的参数;特殊变量:?,
0
,
0,
0,*,$#
本地变量:
变量赋值:name="vlaue"
可以使用引用:
value:
1) 可以是直接字符串:name="username"
2)变量引用:name="$username"
3) 命令引用:name=`command`,name=$(command)赋值命令的执行结果给name
变量引用:${name},$name
""(双引号):弱引用,其中变量引用会被替换为变量值;
''(单引号):强引用,其中变量引用不会被替换为变量值,而保持原字符串;
显示已定义的所有变量
set
销毁变量:
unset name
环境变量:
变量声明、赋值:
export neme=VALUE
declare -x name=VALUE
变量引用:
$name,$(name)
显示所有变量:
env
export
printenv
销毁
unset name
变量命名法则:
1.不能使用程序中的保留字,例如if,for.
2.只能使用数字.字母及下划线,且不能以数字开关;
3.见名知义。
位置变量:
在脚本代码中调用通过命令传递给脚本的参数;
$1,$2,$3......对应调用 第1,第2,第3等参数
$0..命令本身
$*:传递给脚本的所有参数(表示传递的是整体)
$@:传递给脚本的所有参数(表示传递的整体中的个体)
$#:引用参数的个数
换岗参数:shift #
把#里指明的显示参数的T走多少个数字。
#!/bin/bash
linecount=$(wc -l $1 | cut -d" " -f1)
echo “$1 has $linecount line.”
显示给出文件的行数。