Shell脚本中引用、调用另一个脚本文件的2种方法

在Java,Python中,可以用import的方式来进行脚本或模块之间调用,例如:

代码如下:

>>> import math 
>>> math.sqrt(4) 
2.0

在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢?

方法一:   . ./subscript.sh     
方法二:   source ./subscript.sh

注意:

1.两个点之间,有空格,千万注意.
2.两个脚本不在同一目录,要用绝对路径
3.为简单起见,通常用第一种方法

例如:

代码如下:

main.sh           #主脚本
subscripts.sh     #子脚本,或者说被调脚本
[code]
[code]
###subscripts.sh 脚本内容如下:### 
 
#!/bin/bash 
string="Hello,World! \n"

代码如下:

###main.sh 脚本内容如下### 
 
#!/bin/bash 
. ./subscripts.sh 
echo -e ${string} 
exit 0

输出结果:

代码如下:

# chmod +x ./main.sh 
# ./main.sh 
Hello,World! 
#

注意:

1.被调脚本可以没有执行权限,调用脚本必须有可执行权限
2.chmod +x ./main.sh   #注意这里要有点,否则bash脚本可能找不到

(0)

相关推荐

  • 在js文件中引入(调用)另一个js文件的三种方法

    比如我写了一个JS文件,这个文件需要调用另外一个JS文件,该如何实现呢?下面就总结下在js文件中引入另一个js文件的实现 方法一,在调用文件的顶部加入下例代码 function addScript(url){ document.write("<script language=javascript src="+url+"></script>"); } 注:有时你引用的文件还可能需要引用其他的js,我们需要将需要的那个js文件也以同样的方法引用进

  • Python中在脚本中引用其他文件函数的实现方法

    在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址.所以如果要在当前脚本引用其他文件,除了将文件放在和脚本同一目录下,还有以下几种方法, 1. 将文件所在位置添加到sys.path中 import sys sys.path.insert(0, '/path/to/application/app/folder') # or sys.path.append('/path/to/application/a

  • Shell脚本中调用、引用、包含另外一个脚本文件的两种方法

    脚本 first (测试示例1) 复制代码 代码如下: #!/bin/bash echo 'your are in first file' 问)在当前脚本文件中调用另外一个脚本文件? 方法一: 使用 source 脚本 second (测试示例2) 复制代码 代码如下: #!/bin/bash echo 'your are in second file' source first 方法二: 使用 . 脚本 second (测试示例3) 复制代码 代码如下: #!/bin/bash echo 'y

  • Shell脚本中引用、调用另一个脚本文件的2种方法

    在Java,Python中,可以用import的方式来进行脚本或模块之间调用,例如: 复制代码 代码如下: >>> import math  >>> math.sqrt(4)  2.0 在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一:   . ./subscript.sh      方法二:   source ./subscript.sh 注意: 1.两个点之间,有空格,千万注意. 2.两个脚本不在同一目录,要用绝对路径 3.为简单起见

  • 在Shell脚本中调用另一个脚本的三种方式讲解

    先来说一下主要以下有几种方式: fork: 如果脚本有执行权限的话,path/to/foo.sh.如果没有,sh path/to/foo.sh. exec: exec path/to/foo.sh source: source path/to/foo.sh fork fork 是最普通的, 就是直接在脚本里面用 path/to/foo.sh 来调用 foo.sh 这个脚本,比如如果是 foo.sh 在当前目录下,就是 ./foo.sh.运行的时候 terminal 会新开一个子 Shell 执行

  • shell中循环调用hive sql 脚本的方法

    脚本tt.sh的内容如下: #!/bin/bash params=$1 for param in $params do echo $param done 运行方式为:sh tt.sh "1 2 3 4 5" 输出为: 1 2 3 4 5 所以参考上面的命令,可以把hql的脚本写为如下方式,就可以循环执行sql: 功能:查找字符串 comments 中的param第一次出现的位置 ,返回的是位置数字 #!/bin/bash params=$1 for param in $params d

  • Shell脚本调用另一个脚本的三种方法

    假如有脚本 first.sh: #!/bin/bash #------------------ #@file:first.sh #------------------ echo 'your are in first file' 如何在其它Shell脚本中调用first.sh呢?主要有三种方法:source.点号以及sh命令. 1.source #!/bin/bash #--------------- #@file:second.sh #--------------- echo 'your are

  • 一个Js文件函数中调用另一个Js文件函数的方法演示

    我们知道,在html中,利用<script language="javascript" type="text/javascript" src="./script.js"></script>引入的两个js是不可以相互调用的.那么该如何解决呢?当然,你可以将代码通通copy过来,也许你并不喜欢这样. 例如有这样一个html,里面有一个按钮,当按下时调用b.js文件中的方法b().而b()中又要调用a.js文件中的方法a().若

  • 浅谈如何在bat文件中调用另一个bat文件

    目录 情景一:两个bat文件在同一个目录下 情景二:两个bat文件不在同一个目录下 情景三:开启一个新的cmd窗口来运行另一个bat文件 情景一:两个bat文件在同一个目录下 有时候我们需要在一个bat文件中调用另一个bat文件,比如我们想在a.bat中调用b.bat,如下. a.bat @echo off echo I am a.bat- echo now run the b.bat call b.bat echo over b.bat @echo off echo I am b.bat- 在

  • 教你cmd bat文件中调用另一个bat文件的方法

    目录 情景一:两个bat文件在同一个目录下 情景二:两个bat文件不在同一个目录下 情景三:开启一个新的cmd窗口来运行另一个bat文件 情景一:两个bat文件在同一个目录下 有时候我们需要在一个bat文件中调用另一个bat文件,比如我们想在a.bat中调用b.bat,如下. a.bat @echo off echo I am a.bat- echo now run the b.bat call b.bat echo over b.bat @echo off echo I am b.bat- 在

随机推荐