shell脚本之间互相调用

在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脚本可能找不到
时间: 2024-08-03 18:45:19

shell脚本之间互相调用的相关文章

Shell学习之: 脚本之间的调用

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

Shell脚本通过参数传递调用指定函数

我们在写一些功能性脚本的时候,往往会把操作相似或者参数类似行为接近的函数放在同一个shell脚本中,这样管理方便,维护简单,也很清晰.对于这种情况,通常的办法是,在shell脚本中定义所有用到的函数,然后在正文代码中用case语句读入输入的命令函数参数来调用指定的相应函数.这样就达到一个shell脚本使用的强大功能. 下面以一个简单的例子来说明.一个计算器提供了加减乘除的功能: #!/bin/bash usage="Usage: `basename $0` (add|sub|mul|div|al

JAVA调用Shell脚本

在实际项目中,Java有时候需要调用C写出来的东西,除了JNI以外,我认为一种比较好的方法是JAVA调用Shell.先把C写出来的make成可执行文件,然后再写一个shell脚本执行该可执行文件,最后是JAVA调用该shell脚本. JAVA调用很简单,例子如下: 首先是shell脚本 [plain] view plain copy print? #!/bin/sh echo Begin word cluster /home/felven/word2vec/word2vec -train /ho

Shell脚本中调用另外一个脚本的方法

在Linux平台上开发,经常会在console(控制台)上执行另外一个脚本文件,经常用的方法有:./my.sh 或 source my.sh 或 . my.sh:这三种方法有什么不同呢?我们先来了解一下在一个shell脚本中如何调用另外一个shell脚本,其方法有 fork    exec    source. 1.fork  ( /directory/script.sh) : 如果shell中包含执行命令,那么子命令并不影响父级的命令,在子命令执行完后再执行父级命令.子级的环境变量不会影响到父

Shell脚本编程具体解释

第12章 Shell脚本编程   l  Shell命令行的执行 l  编写.改动权限和运行Shell程序的步骤 l  在Shell程序中使用參数和变量 l  表达式比較.循环结构语句和条件结构语句 l  在Shell程序中使用函数和调用其它Shell程序 12-1   Shell命令行书写规则 u  Shell命令行的书写规则 对Shell命令行基本功能的理解有助于编写更好的Shell程序,在执行Shell命令时多个命令能够在一个命令行上执行,但此时要使用分号(:)分隔命令,比如: [[emai

shell脚本进阶

一.流程控制 流程控制语句,即用来实现对程序流程的选择.循环和返回等进行控制的语句. 1.条件判断 (1)if条件判断 普通if条件判断 格式: 嵌套if条件判断 格式: (2)case判断 简洁版多分支if语句,当if语句有多个elif时可以使用case语句代替,语言更简洁容易理解.使用场景:判断某个变量值是否为多种情形中的一种时使用. 格式: 示例: 执行结果: 2.循环 循环执行就是将循环体内的代码重复运行多次:运行的次数由进入循环的条件和退出循环决定. (1)for循环 格式: 列表:变

使用自动化shell脚本查找CPU使用的详细线程信息

项目加了些拦截器代码后,CPU报警,显示CPU使用率超过100%: 想要查找到底是哪些代码消耗的资源过多,从网上找到一篇博文,转载如下: http://blog.csdn.net/guixunlong/article/details/8450897 在知道哪个Java进程CPU占用率过高以后: 1.使用命令 jstack PID 命令打印出CPU占用过高进程的线程栈,例如jstack 12012 > 12012.txt 2.使用top -H -p PID 命令查看对应进程是哪个线程占用CPU过高

[shell脚本]-在shell中定义expect function

概述 使用shell脚本加expect 实现批量登录,互信等,免交互式操作,之前主要写两个脚本,一个是expect脚本里面主要是接受参数,进行ssh 免交互操作,另一个是shell脚本,里面调用expect的脚本,传入参数, 现在需要把expect和shell脚本内容全部合并在shell脚本中 可以用shell function 里面定义expect 例子: shell 脚本中定义function, 然后把<< EOF 所有内容,当作expect 标准输入 #!/bin/bash functi

Shell学问: 调用脚本之间

于Java,Python于,您可以使用import该方法使脚本或模块之间的呼叫,例如: >>> import math >>> math.sqrt(4) 2.0 在Shell中要怎样调用别的shell脚本.或别的脚本中的变量,函数呢? 方法一:   . ./subscript.sh       方法二:   source ./subscript.sh 注意: 两个点之间,有空格.千万注意. 两个脚本不在同一文件夹.要用绝对路径 为简单起见,通经常使用第一种方法 比如: