精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
用户通过字符终端进入系统后,系统会启动一个shell进程,当前这个shell进程的环境如图所示
我们在系统提供的shell进程中可以通过执行命令的方式创建新的进程,每执行一次命令,系统就创建一个新的进程,当命令运行完毕后,该命令对应的进程也结束了.命令进程的父进程是当前的shell进程
通过上一页我们了解到当父进程创建子进程时,父进程中定义的环境变量不能传给子进程.如果我们需要将父进程的变量传给字进程,那么我们可以使用export命令声明或定义变量.在子进程中修改变量不会对父进程有任何影响.
一个收集了一组可执行命令的文本文件是shell script.例如:date,pwd,ls -l是系统的三条命令.如果系统中有一个叫script1的文本文件,它的内容就是这三条命令.那么script1就是一个shell script
在一个shell script文件不需要有执行权,我们就可以通过ksh将其激活并执行它.ksh激活它的办法是先启动一个新的shell程序,在新创建的ksh进程中再执行script文件中的命令.即script文件中的命令对应的进程师当前shell进程的孙子辈进程.
我们给一个shell script文件赋予执行权,我们可以直接调用该文件对应的文件名称就可以激活并执行该shell script.ksh激活它的办法是先启动一个新的shell程序,在新创建的ksh进程中再执行script文件中的命令.即script文件中的命令对应的进程师当前shell进程的孙子辈进程.
如果我们赋予一个shell script执行权限,我们可以通过上一页中方法来执行它,但这种方法执行时shell script文件对应命令所对应的进程是在当前shell的孙辈进程,这时该shell script文件中改变得系统变量都不会对当前shell起作用.如果我们希望shell script程序中的命令可以对当前shell其作用,那么我们可以这样执行
$. script1