小破站学习笔记
shell变量的分类
本地变量
当前用户自定义的变量。当前进程有效,其他进程无效且当前进程子进程无效
环境变量
当前进程有效,并且能被子进程调用
env 查看当前用户的环境变量set 查询当前用户的所有变量(临时变量与环境变量)export 变量名=变量值 或者 变量名=变量值;export 变量名
全局变量
全局所有的用户和程序都能调用,且继承,新建的用户也默认调用
~/.bashrc 当前用户的bash信息,用户登陆时读取 用于定义别名 umask 函数等~/.bash_profile 当前用户的环境变量,用户登录时读取~/.bash_logout 当前用户退出当前shell时最后读取 用于定义用户退出时执行的程序~/.bash_history 当前用户的历史执行命令/etc/bashrc 全局的bash信息,所有用户都生效/etc/profile 全局环境变量信息 系统和所有用户都生效##
修改后都要重新source
用户登录系统读取相关文件的顺序
/etc/profile~/.bash_profile~/.bashrc/etc/bashrc~/.bash_logout
系统变量
$? 上一条命令执行后的返回状态;状态值为0表示执行正常,非0表示执行错误$0 当前执行的程序或脚本名$# 脚本后面接的参数的个数$* 脚本后面的所有参数 参数当成一个整体输出,每一个变量参数之间以空格隔开$@ 脚本后面的所有参数,参数是独立的,也是全部输出$1-$9 脚本后面的位置参数,$1表示第1个位置参数 依此类推${10}-${n} 扩展位置参数,从第10个起必须用{}括起来 2位数以上都需要$$ 当前所在进程的进程号(当前终端)$! 后台运行的最后一个进程号(当前终端)!$ 调用最后一条命令历史中的参数
sleep 200 &后台运行的程序可以用jobs查询jobs