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

linux 执行shell脚本的方式及一些区别

2011-11-24 10:32 531 查看
linux执行shell脚本有3种方式

1使文件具有可执行权限chmod +x file 这样可以直接运行

2直接调用命令解释器执行

3使用source 执行文件

下面以一个简单的shell 说明他们的一点区别

#! /bin/bash

cd /tmp # 当前目录不再这里;

echo "hello world";

第一种执行方式

zhanghong@ubuntu:~/shell$ ./echo.sh

hello world

zhanghong@ubuntu:~/shell$ pwd

/home/zhanghong/shell

第二种

zhanghong@ubuntu:~/shell$ bash ./echo.sh

hello world

zhanghong@ubuntu:~/shell$ pwd

/home/zhanghong/shell

第3中种

zhanghong@ubuntu:~/shell$ source ./echo.sh

hello world

zhanghong@ubuntu:/tmp$ pwd

/tmp

看出区别了把,前两种执行方式一样的,第三种执行方式有区别

说明

linux shell 命令分三种

内建 就是shell本身包含的,他们主要集成在shell解释器中

shell函数,就是自定义的一些函数

外部命令,就是独立于shell解释器的一些外部可执行程序,比如你安装的一些程序

对于前两种,在执行过程中存在进程的创建和消亡,调用时回创建一个和父进程一样的子进程

在子进程里,以新程序执行,父进程进入休眠期,当子进程执行完毕返回时,唤醒父进程读取下一条命令

对于第3中不会创建子进程,而是在父进程中直接执行

上面的差异是因为子进程不能改变父进程的执行环境,所以CD(内建命令,只有内建命令才可以改变shell 的执行环境)没有成功,但是第3种没有子进程,所以CD 成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: