Shell运行环境:
Bash是一个进程,bash下还可以启动另一个shell,原shell会复制自身给他;在sub shell中定义的变量会随着sub shell的消亡而消亡
()子shell中运行
{} 当前shell中执行
$$ 当前脚本执行的 pid
& 后台执行 -- 如何调出来
ps 查看进程 -e 显示所有进程 -ef 显示全格式
jobs 查看当前后台运行进程
运行某程序时 ctrl+z 暂停运行该程序并将程序调入后台运行
bg 1 启用后台运行的序号为1的程序
fg 1 将后台运行的序号为1的程序调入前台继续运行
$! 运行在后台的最后一个作业的pid
vim 与 vi 有区别:
vim 命令 :
i Insert 插入内容; esc 退出编辑模式; :q 不保存退出; :wq 保存退出; :q! 强制退出; :wq! 强制保存退出; set nu 显示行号 set nonu 不显示行号; 非编辑模式下 按v 进入剪切模式 双击g可选中全部-按y-按p 将数据全部复制
文件描述符:
输入文件--标准输入0
输出文件-标准输出1
错误输出文件--标准错误输出2 使用 2>&1
Shell环境变量:
Shell首先是一个工作环境,有很多变量
Set可以获取当前所有变量
Env 可以获得可以传递给子进程的变量
Export aa=bbb 把私有变量导出
.bash_profile 修改环境变量,环境变量之间以:分隔
修改完之后需要 source ~/.bash_profile 让环境变量重新生效