Linux系统Shell命令使用教程

Linux系统中Shell不仅仅是一个命令 , 而且是其他命令的解释器 。可以调试其他命令 , 从而完成编译 。那么Linux系统中Shell命令应该怎么使用呢?

Linux系统Shell命令使用教程


其实作为命令语言互动式地解释和执行用户输入的命令只是Shell功能的一个方面 , Shell还可以用来进行程序设计 , 它提供了定义变量和参数的手段以及丰富的程序控制结构 。使用Shell编程类似于DOS中的批处理文件 , 称为Shell script , 又叫Shell程序或Shell命令文件 。
Shell基本语法
像高级程序设计语言一样 , Shell也提供说明和使用变量的功能 。对Shell来讲 , 所有变量的取值都是一个字串 , Shell程序采用$var的形式来引用名为var的变量的值 。
Shell有以下几种基本类型的变量 。
(1)Shell定义的环境变量:
Shell在开始执行时就已经定义了一些和系统的工作环境有关的变量 , 用户还可以重新定义这些变量 , 常用的Shell环境变量有:
HOME 用于保存注册目录的完全路径名 。
PATH 用于保存用冒号分隔的目录路径名 , Shell将按PATH变量中给出的顺序搜索这些目录 , 找到的第一个与命令名称一致的可执行文件将被执行 。
TERM 终端的类型 。
UID 当前用户的识别字 , 取值是由数位构成的字串 。
PWD 当前工作目录的绝对路径名 , 该变量的取值随cd命令的使用而变化 。
PS1 主提示符 , 在特权用户下 , 默认的主提示符是# , 在普通用户下 , 默认的主提示符是$ 。
PS2 在Shell接收用户输入命令的过程中 , 如果用户在输入行的末尾输入“\”然后回车 , 或者当用户按回车键时Shell判断出用户输入的命令没有结束时 , 就显示这个辅助提示符 , 提示用户继续输入命令的其余部分 , 默认的辅助提示符是》 。
(2)用户定义的变量:
用户可以按照下面的语法规则定义自己的变量:
变量名=变量值
要注意的一点是 , 在定义变量时 , 变量名前不应加符号$ , 在引用变量的内容时则应在变量名前加$;在给变量赋值时 , 等号两边一定不能留空格 , 若变量中本身就包含了空格 , 则整个字串都要用双引号括起来 。
在编写Shell程序时 , 为了使变量名和命令名相区别 , 建议所有的变量名都用大写字母来表示 。
有时我们想要在说明一个变量并对它设置为一个特定值后就不在改变它的值时 , 可以用下面的命令来保证一个变量的只读性:
readonly 变量名
在任何时候 , 创建的变量都只是当前Shell的局部变量 , 所以不能被Shell运行的其他命令或Shell程序所利用 , 而export命令可以将一个局部变量提供给Shell执行的其他命令使用 , 其格式为:
export 变量名
也可以在给变量赋值的同时使用export命令:
export 变量名=变量值
使用export说明的变量 , 在Shell以后运行的所有命令或程序中都可以访问到 。
(3)位置参数:
位置参数是一种在调用Shell程序的命令行中按照各自的位置决定的变量 , 是在程序名之后输入的参数 。位置参数之间用空格分隔 , Shell取第一个位置参数替换程序文件中的$1 , 第二个替换$2 , 依次类推 。$0是一个特殊的变量 , 它的内容是当前这个Shell程序的文件名 , 所以 , $0不是一个位置参数 , 在显示当前所有的位置参数时是不包括$0的 。

推荐阅读