(三)父子shell和环境变量

本文详细介绍了Linux shell中的子shell概念及其创建方法,包括通过命令组合和coproc协程的方式。同时,讲解了如何通过环境变量$BASH_SUBSHELL来检查是否创建了子shell。此外,还探讨了命令后台执行、作业管理和环境变量的设置与取消,以及历史命令的查看和重复执行。内容涵盖了shell脚本编程中的关键知识点。
摘要由CSDN通过智能技术生成

父shell ——> 子shell的过程

ps -f    (显示UID,PPIP,C与STIME栏位)

ps f    (用ASCII字符显示树状结构,表达程序间的相互关系)

ps --forest (此选项的效果和指定"f"选项相同)


命令之间带 ; 可以依次执行命令

eg: ls ; pwd ; cd / ——> 进程列表;没有生成子shell去执行

      (ls ; pwd ; cd /) ——> 创建了子shell去执行

coproc 协程 ——> 创建了子shell,然后在子shell后台里挂载

coproc  名字 {  sleep 时间;  }   

coproc 名字 {  sleep 时间; sleep 时间  } &  coproc 名字 {  sleep 时间;  }

检验方法:  ls ; pwd ; cd / ; echo $BASH_SUBSHELL

                 (ls ; pwd ; cd / ; echo $BASG_SUBSHELL)


echo (输出指定的字符串或者变量)

sleep  (将目前动作延迟一段时间)

sleep 时间&   (挂在后台执行多长时间)  ——>  用 ps -f 查看

jobs (显示作业的状态)——> 查看谁在后台sleep

jobs -l   (在作业信息中额外的列出PID)

tar 解压缩文件&    (后台解压缩)

(.. ; ,, ; ,,)&  (在后台组合运行)


外部命令 eg: ps -f

非外部命令(内建命令) eg: cde

判断方法:type 命令


history 查看历史列表和操作历史列表

history显示出历史记录,且带有行数, 当输入  !行数  时会执行该行的命令

!! 执行上一个命令

alias (定义或显示别名)

alias也可以创建别名 ——>  eg: alias li='ls -li'


printenv (显示所有的环境变量,全局变量)

printenv 环境变量 ——> 显示环境变量   ==   echo $环境变量

$环境变量 可以用来替换 eg:$HOME ——> home/linux

set  (显示局部变量)

export 变量名=“内容”

unset 变量名 (删除定义的变量)

在PATH下添加路径: PATH=PATH:/安装目录——>PATH=PATH:/home/linux/Project


启动文件:开机的时候默认执行环境变量 

bash shell?

1.登录shell

各不同的版本常见的几个配置文件

~/.bashrc

~/.bash_profile

~/.profile

~/.bash_login

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值