bash shell执行方式
2017-12-13 21:38
155 查看
五种bash shell执行方式 fork, source, exec, (), {}
Shell脚本的执行方式:注明:wd代表“脚本保存的目录”
1.fork
语法:/wd/shell.sh
fork是最普通的, 就是直接在脚本里面用/wd/shell.sh来调用shell.sh这个脚本.运行的时候开一个子shell执行调用的脚本,子shell执行的时候, 父shell还在。子shell执行完毕后返回父shell。子shell从父shell继承环境变量.但是子shell中的环境变量不会带回父 shell
2.exec
语法: exec /wd/shell.sh
exec与fork不同,不需要新开一个sub-shell来执行被调用的脚本. 被调用的脚本与父脚本在同一个shell内执行。但是使用exec调用一个新脚本以后, 父脚本中exec行之后的内容就不会再执行了。这是exec和source的区别。
3.source
语法:source /wd/shell.sh
与fork的区别是不新开一个子shell来执行被调用的脚本,而是在同一个shell中执行。所以被调用的脚本中声明的变量和环境变量, 都可以在主脚本中得到和使用。
4.()
语法:( 语句;语句;语句;…… )
圆括号中命令列表的命令将会运行在一个子shell中。
比如:
$ (cd ..;ls -l)
cd ..命令改变的是子Shell的PWD,而不会影响到交互式Shell。
然而命令
$ cd ..;ls -l
则有不同的效果,cd ..命令是直接在交互式Shell下执行的,改变交互式Shell的PWD,然
而这种方式相当于这样执行Shell脚本:
$ source ./script.sh
或者
$ . ./script.sh
source或者.命令是Shell的内建命令,这种方式也不会创建子Shell,而是直接在交互式Shell下逐行执行脚本中的命令。
source命令、.命令
语法: . filename [arguments]
source filename [arguments]
作用:
当在命令 行中调用的时候, 这个命令将会执行一个脚本. 当在脚本中调用的时候, source file-name 将会加载file-name文件, 或者 . (点命令)一个文件将会在脚本中引入代码, 并将这些代码附加到脚本中(与C语言中的#include指令效果相同). 最终的结果就像是在使用"source"的行上插入了相应文件的内容.
在多个脚本需要引用相同的数据, 或者需要使用函数库的情况下, 这个命令非常有用.
5.{}
{语句;语句;……}不会启动子SHELL。
相关文章推荐
- 设置某个shell文件,以bash方式执行
- 五种bash shell执行方式 fork, source, exec, (), {}
- bash的执行方式[阮胜昌]
- Linux下为可执行shell脚本文件(.sh),制作桌面启动快捷方式
- 学习shell --script的执行方式区别(source 、 shscript 、./script)
- Shell 脚本执行方式(不创建子shell)
- 使用命令shell和MyEclipse两种方式执行Hadoop的WordCount程序
- 执行shell的三种方式
- 多种shell脚本执行方式之间的区别
- 『SHELL』--SHELL脚本执行方式
- Linux系统下通过bash配置文件的方式将用户执行的命令写入syslog
- Bash shell 的算术运算有四种方式
- ./ . 和#!/bin/bash 辨析Linux如何选择当前执行脚本的shell
- 【shell 1】Shell简介:什么是Shell,Shell命令的两种执行方式
- shell脚本4种执行方式
- 执行shell脚本出现bin/bash: bad interpreter: No such file or directory
- bash shell执行、排错、启动配置文件
- Shell简介:什么是Shell,Shell命令的两种执行方式
- Shell简介:什么是Shell,Shell命令的两种执行方式
- bash的多命令执行,shell脚本基础及grep系