**正则表达式和脚本比较难
局部变量
全局变量 (子进程父进程)
运行的程序不是孤立
一个程序要运行必须要有父进程激活启动,就构成了父子关系
局部变量,当前进程或当前shell有效
chmod +x cat |bash运行 bash 脚本名
echo ¥$当前进程
**
配置文件
export 全局变量 declare -x
位置变量
*$@ $所有参数是一个整体
变量
test [] 【【 =~ 】]
test [=]字符串是否相同 【【 == 】]
【【 == 】]可以跟通配符 代表任意长度的字符串*
7里的 etc 、vte.sh
man bash帮助文档 搜索 [[
regexp正则表达式
字符串匹配直接用即可
&& ||
cmd1 && cmd2 if cmd1 is successful ;then cmd2 $?0 是成功,其他是失败
cmd1 || {cmd2;cmd3}
不建议写太复杂,方便维护
read批量对多个变量赋值
需要空格隔开赋值
判断yes no
!!上一个命令
etc全局
~家目录 单个用户
bash——profile 可改PATH路径
,bashrc
profile配置文件
/etc/profile 和 .bash_profile /etc/bashrc和.bashrc中的区别
登录时的执行顺序
etc/profile -etc/profile.d/*.sh-
etc/bash_profile -bashrc
bashrc -/etc/bashrc
. source bash commond 的区别
./f1.sh =bash f1.sh 都是开启子进程
source f1.sh 是当前shell执行
。和source 是等价的 当前运行
不会运行脚本,因为不想影响工作环境 配置文件影响的话就用这个
默认别名不支持脚本运行
profile 放环境变量和启动程序
bashrc放别名和函数
注销初始化
希望退出的时候 初始化 ,自动执行某个操作
vim 。bash_logout
上
一
个
命
令
的
最
后
参
数
∗
∗
∗
∗
_上一个命令的最后参数** **
上一个命令的最后参数∗∗∗∗-代表一些功能的复合
h=hash
i=当前是否是一个交互式的shell 可查看脚本批量执行还是交互式会问你是否执行
m=前后执行
b大括号扩展
H扩展代表history历史
1不建议在etc/profile是系统文件改,在如下图改
.
2…bashrc里是别名
/etc/profile.d/env.sh变量
3.
4.。vimrc