您的位置:首页 > 运维架构 > Shell

Linux Shell 编程学习笔记(1)

2015-07-12 23:16 441 查看

Linux Shell编程学习笔(2015-7-11)

一:Shell程序运行的三种方法

赋予程序文件可执行权限,直接运行

  比如:
chmod a+x shell.sh


使用命令解释器(即shell)解释执行

  比如:
bash shell.sh


使用source命令执行

  比如:
source shell.sh


二:Shell命令的种类

  Linux Shell命令主要有三种:内部命令, shell函数, 和外部命令

* 内部命令:内部命令是Shell解释器本身包含的命令,在文件系统中没有相应的可执行文件。例如,cd命令和echo命令就是两个常用的Shell内部命令。命令行在执行内部命令时,不需要创建新的进程,当然也就不需要销毁进程。

Shell函数:它是以Shell语言来书写的一系列程序代码,可以像其它命令一样被引用。

外部命令:外部命令是独立于Shell的可执行程序,在文件系统中有相应的可执行文件。比如最常见的外部命令有:ls,find,locate,grep,ifconfig等。命令行在执行外部命令时,会创建一个当前Shell的复执进程来执行它,执行过程存在进程的创建和销毁。

三:Shell执行命令的顺序

  交互式的Shell在获取用户输入的命令后,将按以下的固定顺序寻找命令的位置:

1. 别名:使用“alias command=…”创建的命令

2. 关键字:如:if, for, while等

3. 函数:Shell语言书写的代码

4. 内部命令:Shell本身包含的命令,如:cd, echo, source等

5. 外部命令:二进制可执行程序或脚本程序

四:复合命令

  Linux Shell中可以使用“{}”和“()”将多条命令括起来,使其在语法上成为一条命令。

  使用“{}”和“()”,他们的作用基本相同,唯一一点区别在于:用“{}”括起来的命令在本shell内执行,不产生新进程;用“()”括起来的命令在一个新的shell内执行,命令行shell会创建一个新的子shell进程。

  举个例子:

biantiao@lazybone1994-ThinkPad-E430:~$ A=1
biantiao@lazybone1994-ThinkPad-E430:~$ ( A=2; echo $A; )
2
biantiao@lazybone1994-ThinkPad-E430:~$ echo $A
1
biantiao@lazybone1994-ThinkPad-E430:~$ { A=2; echo $A; }
2
biantiao@lazybone1994-ThinkPad-E430:~$ echo $A
2
biantiao@lazybone1994-ThinkPad-E430:~$
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: