父子Shell你了解多少?一起解读吧

一.source和点、bash \sh 、./script区别

1.source和点,执行脚本,只在当前shell环境中执行生效

2.指定bash\sh 解释器运行脚本,是开启subshell,开启子shell运行脚本 命令

3. ./script,都会指定shebang,通过解释器运行,也是开启subshell运行命令

 二.父Shell的概念

pstree

|--sshd--sshd--bash--pstree

 ps  -ef

-f 显示UID、PID、PPID

-e 列出所有进程的信息,如同-A选项option

ps  -ef  --fortest

例如:18601是PID进程号,1186是父进程PPID号,所以它们之间是有区别的。

 三.子Shell

在父Shell里面再创建一个Shell环境

 四.多个子Shell

 注意:只要输入exit,就能够退出Shell环境

 五.创建进程列表(创建子Shell执行命令)

为什么学习子Shell

需要大家,执行一系列shell命令

ls ;cd ;pwd ;echo "Chd真帅"

列表,肯定是被包括起来的数据

Shell的进程列表理念,需要使用()小括号,如下执行方式,就称之为,进程列表

(ls ;cd ;pwd ;echo "Chd真帅")

六.检查是否在Shell环境中

linux默认的有关shell变量

#该变量的值特点,如果是0,就是父Shell环境,否则开辟子Shell去运行的

BASH_SUBSHELL

 检查是否在子Shell中运行的命令

cd ~;pwd;ls ;cd /usr/;pwd;ls;echo $BASH_SUBSHELL

明确开启子Shell运行的命令

进程列表,并且开启子shell运行

​(cd ~;pwd;ls ;cd /usr/;pwd;ls;echo $BASH_SUBSHELL)

 七.子Shell嵌套运行

一个小括号,开启一个子Shell运行命令,还可以嵌套多个

(pwd;(echo $BASH_SUBSHELL))

注意:利用括号,开发子Shell的理念,以及检查,在shell脚本开发中,经常会用子shell进行多进程的处理,提高程序并发执行效率。

八.Shell知识回顾

1.shell执行多行命令

date;whoami

 2.Shebang

#!/bin/bash
#! /bin/per1
#! /bin/python

3.执行脚本的方式

source my_first.sh

. my_first.sh

bash my_first.sh

./my_first.sh

#执行脚本的方式
cat test_date.sh

#! /bin/bash

echo "Now date time  is: `date`"


bash test_date.sh

4.echo 命令,在Linux下格式化打印

cat  echo_test.sh

#! /bin/bash

echo "The time and date are:"
date
echo ""
echo "Let's see who's logged into the system: "
who

chmod +x echo_test.sh

./echo_test.sh

 5.echo能够输出变量的值

cat  echo_var.sh

#! /bin/bash
echo "user info for username: ${USER}"
echo "user UID is : ${UID}"
echo "user Home is : " $HOME

 sh   echo_var.sh

 6.转义字符的概念

所谓转义字符----->(\),还原符号,原本的意思,不会被阅读为特殊含义

"$"

'   ' 

7.变量在脚本中的使用

        变量被引用的时候,会赋予其值,脚本中的变量,在shell执行完毕后,就会消失,根据执行的方式决定。

当你用不同的方式,执行脚本,产生的后果也不一定一样

source和点,是在当前shell环境中,加载变量,执行脚本

bash或sh,去执行脚本的时候,是开启子shell运行的,变量也是在子shell环境中加载,子shell退出后,变量也就消失了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值