变量的定义
变量的赋值
a=123let a=10+20l=ls$()或者````
let c=$(ls -l /etc)” “ 或 ‘ ‘中变量的引用
${变量名}称作对变量的引用echo ${变量名} 查看变量的值${变量名} 在部分情况下可以省略为 $变量名变量的作用范围
source 因为是在当前进程中执行,所以被运行的脚本可以获取到当前环境下的变量。exportunset系统环境变量: 每个Shell 打开都可以获得到的变量
set (预定义变量和位置变量,比如 $?)和 env (环境变量,比如: )命令
$? $$ $0
$? 上层命令返回结果是否成功(显示0, 非0 为不成功)$$ 当前进程PID$0 当前进程名称$0 shell的命令本身(包括完整路径) ($0 是脚本本身的名字)
$1到$9 数字表示shell 的第几个参数
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数
$$ 脚本运行的ID号
$! 后台运行的最后一个进程的ID号
$@ 与$*相同。
$- 显示shell使用的当前选项。
$? 显示最后命令的执行状况。0表示没有错误。
$PATH 命令搜索路径,修改它能对子进程造成影响
$PS1 提示终端,可以自定义(比如增加时间、路径全显 )
oot@ubuntu-s-2vcpu-4gb-sgp1-02:~# /bin/bash --rcfile <(echo "PS1=\\"container2> \\"")
container1>
位置变量
$1 $2 ... $n
${2-_} 如果${2} 则 替换成_环境变量配置文件
/etc/profile (su - user,才会加载)/etc/profile.d:不同shell类型执行不同的脚本, 兼容性~/.bash_profile (su - user,才会加载)~/.bashrc/etc/bashrc使用
su - user才会把配置文件加载齐全
etc 目录下 为通用配置