bash语言基础
编程语言: 变量:命名的内存空间 bash的变量种类: 根据变量的生效范围等标准 本地变量: 生效范围为当前shell进程;对当前shell之外的其他shell进程,包括当前shell的子shell进程均无效 环境变量: 生效范围为当前shell进程及其子进程 局部变量: 生效范围为当前shell进程中某代码片段(通常指函数) 位置变量: $1,$2...来表示,用于让脚本在脚本代码中调用通过命令行传输给它的参数 特殊变量: $?、$0,$*,[email?protected],$# 变量命名法则: 1. 不能使用程序中的保留字:if,for 2. 只能使用数字、字母及下划线,且不能以数字开头 3. 见名知意 只读变量: readly name declare -r name 本地变量: 变量赋值:name='value' 可以使用引用: value: 1. 可以是直接字串,name="username" 2. 变量引用: name="$username" 3.命令引用: name=`COMMAND`,name=$(COMMAND) 变量引用:${name},$name "": 弱引用,其中的变量引用会被替换为变量值 '': 强引用,其中的变量引用不会被替换为变量值,而保持原字符串 显示已定义的所有变量 set 销毁变量:unset name 环境变量: 变量声明、赋值 export name=VALUE declare -x name=VALUE 变量引用: $name,${name} 显示所有的环境变量 export,env,printenv 销毁: unset name bash有很多内建的环境变量: PATH,SHELL,UID,HISTORY,HOME,PWD,OLD,HISTFILE,PS1 位置变量 在脚本代码中调用通过命令行传递给脚本的参数 $1,$2,... : 对应调用第1个、第二个等参数 shift [n]: 剔除某个变量 特殊变量 $?: 上一条命令的执行结果 $0:命令本身 $*: 传递给脚本的所有参数 [email?protected]: 传递给脚本的所有参数 $#: 传递给脚本的参数的个数 变量作用域: bash中的算术运算 增强型赋值 +=,-=,/=,%= 自增、自减 比如自增: let var++ 练习1.写一个脚本 练习2.写一个脚本 练习3.统计/etc,/var,/usr目录共有多少个一级子目录和文件 #!/bin/bash fnum1="$(ls /usr | wc -l)" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |