shell被设计成既可以交互式工作,又可以非交互式工作:
交互式shell:打开一个终端窗口,当见到shell提示时,就可以输入命令。然后shell处理命令,处理完命令后,shell显示另一个提示。当以这种方式工作时,shell就是用户界面,因此我们可以说shell是一个交互式shell。非交互式shell:创建一组命令,保存在一个文件中。当运行脚本时,shell从文件中读取命令,并且在不需要输入的情况下一次处理所有的命令。当以这种方式工作时,我们就可以说shell是一个非交互式shell。
在一些编程语言中,有一个传统,即全局变量通常采用大写字母,局部变量采用小写字母。Bourne shell有所不同,环境变量(全局变量)和shell变量(局部变量)传统上都采用大写字母。
对于多数编程语言,变量要么是局部的,要么是全局的。Bourne shell中,变量要么为局部变量,要么既是局部变量又是全局变量。Bourne shell中没有只属于全局变量的变量。
shell变量:每个新变量被自动设置为shell变量如HARLEY=cool环境变量:如果希望某个变量同时成为环境变量,必须使用export命令如export HARLEY