10.9
#!/bin/bash
运行脚本的三种方式:
1. bash 或 sh 脚本路径
2. 路径 (x权限)
3. source 脚本名
shell变量
查看变量
set 显示系统变量和用户变量
env 只能显示系统变量
========= 常用的系统预定义变量 ============
$HOSTNAME 主机名称
$SHELL 当前系统的脚本编译环境
$USER 当前登录系统的用户
$PATH 系统路径
$HOME 主目录
$PWD 当前路径
$LANG 当前系统的字符集
$LOGNAME 登录用户
提升用户变量为系统变量
export 变量名
打印环境变量的值
printenv 变量名
======== 自定义变量 =========
变量名=变量值
unset 变量名
readonly 变量名=变量值
自定义变量命名规则:
- 字母、数字、下划线组成
- 不能以数字开头
- 系统变量建议以大写字母开头
- 等号两侧不能有空格
在 bash 中,变量默认类型都是字符串类型,无法进行数值运算
要进行数学运算,使用 $[$a+$b]
变量的值如果有空格,要用引号括起来:
hello=' ni hao'
单引号 ' ' 不能识别,原样输出
双引号 " " 可以引用变量,识别 Linux 中的特殊符号 $
父 bash 环境中:
声明的用户变量不能被子 bash 环境识别
声明的系统变量,可以被子 bash 环境识别
============ 特殊变量 ==============
$0 脚本名
$n 获取第 n 个参数 (0-任意数字)
$$ 当前 Shell 的进程 ID
$1 获取第一个参数
$# 总共传入了 $# 个参数
$* 获取全部参数,作为一个整体
$@ 获取全部参数,分别进行处理
$? 表示上一次执行命令的执行结果
SHELL 数组:
声明数组
arr1=(1 2 3)
赋值
arr1[1]=10
取值
echo ${arr1[2]}
数学计算
echo $[${arr1[0]} + ${arr1[2]}]