在shell脚本中调用另一个shell脚本的三种方式
阅读数:115 评论数:0
跳转到新版页面分类
Linux
正文
有3种方式:
1、fork
如果脚本有执行权限的话,path/to/foo.sh。如果没有,bash path/to/foo.sh
fork是最普通的,运行的时候,terminal会新开一个子shell执行脚本 foo.sh,子shell执行的时候,父shell还在,子shell执行完毕后返回父shell。子shell从父shell继承环境变量,但是子shell中的环境变量不会带回父shell。
2、exec
exec path/to/foo.sh
在当前同一个shell中执行,但是与source不同,使用exec调用一个新脚本以后,父脚本中exec行之后的内容就不会再执行了,即原有的进程会被结束。
3、source
source path/to/foo.sh
不新开一个子shell,而是在当前同一个shell中执行,所以被调用的脚本中声明的变量和环境变量,都可以在主脚本中进行获取和使用。
相关推荐
一、echo
变量的显示必须要加上字符$
echo $variable
echo ${variable}
二、变量的设置规则
1、变量与变量内容以一个等号来连接
2、等号两边不能直接接空格符
3、
出现bad interpreter:No such file or directory(没有那个文件或目录)的原因,是文件格式的问题。这个文件是在Windows下编写的。换行的方式与Unix不一
一、切换用户执行大段命令
#!/bin/bash
su - test <<EOF
pwd;
exit;
EOF
二、执行一条命令
su - test -c "pwd"
三、执行一个shell脚本
su
vim /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advis
在 Bash shell 中,type 是一个内置命令,用于显示指定命令的类型。它可以告诉你一个命令是内置的(built-in),还是一个外部的可执行程序,或者是别名(alias)、函数、关键字等。