简介
Bourne Shell 是一个交换式的命令解释器和命令编程语言。
标准
首个重要的标准 Unix Shell 是1977年底在 V7 Unix(AT&T第7版)中引入的,并且以它的创始科技部基础条件平台“国家气象网络计算应用节点建设”(2004DKA50730)资助者 Stephen Bourne 的名字命名。Bourne Shell 可以运行为 login shell
或者 login shell
的子 shell(subshell)
。只有 login
命令可以调用 Bourne Shell 作为一个 login shell
。此时,Shell 先读取 /etc/profile
文件和 $HOME/.profile
文件。/etc/profile
文件为所有的用户定制环境,$HOME/.profile
文件为本用户定制环境。最后,shell会等待读取你的输入。
默认提示
默认提示(Prompt)是美元符($),其环境文件为 profile
文件,由于文件档案不大,可以马上启动执行。 profile
是存放在主目录下的普通正文文件(Text File),通过设置环境变量(Variable)和终端模式,可以使环境个人化,每次注册进入系统时,Shell 会读入 profile
文件,并执行所列出的指令。每当系统管理员创建新用户的户口时,系统都会自动构造一个相应的 .profile
文件;而整个系统的环境文件就放置在 /etc/.profile
中。用户可以使用vi或其他正文编器修改。若要使用 env
命令显示,由于注册时已设置了这些变量,也不一定需要另行设置。
Shell 执行选项
-n
测试shell script语法结构,只读取shell script但不执行
-x
进入跟踪方式,显示所执行的每一条命令,用于调度
-a
Tag all variables for export
-c
“string” 从strings中读取命令
-e
非交互方式
-f
关闭shell文件名产生功能
-h
locate and remember functions as defind
-i
交互方式
-k
从环境变量中读取命令的参数
-r
限制方式
-s
从标准输入读取命令
-t
执行命令后退出
-u
在替换中如使用未定义变量为错误
-v verbose
,显示Shell输入行
这些选项可以联合使用,但有些显然相互冲突,如 -e
和 -i
。