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

在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一: . ./subscript.sh 方法二: source ./subscript.sh 注意: .两个点之间,有空格,千万注意. .两个脚本不在同一目录,要用绝对路径 .为简单起见,通常用第一种方法 例如: 复制代码 代码如下: main.sh #主脚本 subscripts.sh #子脚本,或者说被调脚本 [code] [code] ###subscripts.sh 脚本内容如下:### #!/bin/bash…
shellA调用shellB,如果shellB 里面需要使用路径作为变量,去寻找其它文件.那么要注意,不用pwd,其返回的是系统中用户当前所在位置的路径,也就是shellA的路径,这样就错了.应该用dirname $0,找出当前执行文件的路劲. 场景: 脚本 observerReport.sh 里面调用 mergerReport.sh,observerReport.sh在script/目录, mergerReport.sh在下一级子目录script/merge里, 此时,如果mergerRepo…
脚本的相互调用中,只有在同一级目录下才可以使用__file__参数去获取路径名,(在shell里使用pwd也同样),否则,使用的就是主文件(最开始运行的脚本程序)的所在位置,是错误路径:一定要注意当期那运行主文件是谁 而 shell脚本相互调用时路径也要注意部分命令会使用当前文件路径:参见 shell脚本里面相互调用时路径不要用pwd获取 http://blog.csdn.net/longshenlmj/article/details/16887505 [deve_test_user@A3-Tr…
今天遇到一个在shell脚本里面要调用MySQL的存储过程,查阅了很多资料,发现有的都不好用,自己调试出了如下一种,拿来共享: 用mysql -e “ ”: 例如:   mysql -uroot -p******* -e "call db_sys_stat.p_tab_stat1()" ; 添加到你shell脚本想调用的位置即可: 如果想把记录写到文本里面,那么添加如下: 例子: if mysql -uroot -p******** -e "call db_sys_stat.…
一:函数 1:创建数据库和表deptartment, mysql> use DBSC; Database changed mysql), ), )); Query OK, rows affected mysql,'2号楼'); Query OK, row affected mysql,'3号楼'); Query OK, row affected mysql,'6号楼'); 2:创建表 instructor ),; 提示错误:1005 - Can't create table 'dbsc.inst…
(转载): 在Linux平台上开发,经常会在console(控制台)上执行另外一个脚本文件,经常用的方法有:./my.sh 或 source my.sh 或 . my.sh:这三种方法有什么不同呢?我们先来了解一下在一个shell脚本中如何调用另外一个shell脚本,其方法有 fork    exec    source. 1.fork  ( /directory/script.sh) : 如果shell中包含执行命令,那么子命令并不影响父级的命令,在子命令执行完后再执行父级命令.子级的环境变量…
在Shell脚本的执行过程中,Shell脚本支持调用另一个Shell脚本,调用的格式为:程序名 实例:在Shell脚本test1中调用test2. 1.调用test2#test1脚本root@ubuntu:/home/study# vi test1; #!/bin/bash   echo "The main name is $0"; ./test2; echo "The first string is $1";   #test2脚本root@ubuntu:/home…
FROM:http://blog.csdn.net/jj12345jj198999/article/details/11891701 在实际项目中,JAVA有时候需要调用C写出来的东西,除了JNI以外,我认为一种比较好的方法是JAVA调用Shell.先把C写出来的make成可执行文件,然后再写一个shell脚本执行该可执行文件,最后是JAVA调用该shell脚本. JAVA调用很简单,例子如下: 首先是shell脚本 #!/bin/sh echo Begin word cluster /home…
执行shell脚本的几种方法及区别 http://blog.csdn.net/lanxinju/article/details/6032368 (认真看) 注意:如果涉及到脚本之间的调用一定要用 . 来执行shell脚本. [root@bogon ~]# cat a.sh #!/bin/bashTang=Freddy[root@bogon ~]# sh a.sh [root@bogon ~]# echo $Tang [root@bogon ~]# . a.sh [root@bogon ~]# e…
第12章 Shell脚本编程   l  Shell命令行的执行 l  编写.改动权限和运行Shell程序的步骤 l  在Shell程序中使用參数和变量 l  表达式比較.循环结构语句和条件结构语句 l  在Shell程序中使用函数和调用其它Shell程序 12-1   Shell命令行书写规则 u  Shell命令行的书写规则 对Shell命令行基本功能的理解有助于编写更好的Shell程序,在执行Shell命令时多个命令能够在一个命令行上执行,但此时要使用分号(:)分隔命令,比如: [root@…
1. 执行shell脚本报  Unsupported major.minor version 52.0 报错原因:java文件jdk和服务器上的jdk不匹配, 解决方法: a.查看当前服务器用的jdk是哪个版本:java -version b.修改本地代码编译版本,如下图所示: 2.shell调有package修饰的类的时候,报NoClassDefFoundError shell文件内容: echo "htllo test" java shell.PackageTest 摆放位置: 报…
shell函数 注:现在是unix编程 实例: #!/bin/shdemon(){ echo "这是一个shell脚本"}demon 注: 调用是只写函数名没有() 函数的返回值 函数的返回值只能是数字(0-255) #!/bin/shdemon(){ echo "这个函数会对输入的两个数字进行加法运算" echo "请输入第一个数字" read cat1 echo "请输入第二个数字" read cat2 echo &quo…
实例一 test.sh文件 echo `date`>test.log 配置crontab 设置 */1 * * * * sh /data/test.sh 在/data/目录下,未找到test.log文件,重启了crontab服务,service cronb restart,发现还是不行. 在网上找资料,怀疑是相对路径的问题,然后,在home目录下,cd ~,发现了test.log. 转摘资料: crontab执行java程序的问题: 一 crontab使用注意: crontab -l查看该用户的…
于Java,Python于,您可以使用import该方法使脚本或模块之间的呼叫,例如: >>> import math >>> math.sqrt(4) 2.0 在Shell中要怎样调用别的shell脚本.或别的脚本中的变量,函数呢? 方法一:   . ./subscript.sh       方法二:   source ./subscript.sh 注意: 两个点之间,有空格.千万注意. 两个脚本不在同一文件夹.要用绝对路径 为简单起见,通经常使用第一种方法 比如:…
//调用shell脚本,IP处理 package com.letv.sdns.web.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net…
java  调用bash shell脚本阻塞的小问题的解决 背景 使用java实现的web端,web端相应用户的界面操作,使用java调用bash实现的shell脚本进行实际的操作,操作完成返回执行结果给web 界面显示. 现象: Java 进程阻塞.使用ps命令可以看到被调用的shell 的执行进程状态为S 分析 Shell子进程的状态是S 睡眠状态,也就是该进程在等待某个条件满足,方能继续执行. Java程序在调用Runtime.getRuntime().exec(jyName)之后,lin…
今天上午在写一个需求,要求的比较急,要求当天完成,我大致分析了一下,可以采用从shell脚本中插入一连串的日期,通过调用proc生成的可执行文件,将日期传入后台数据库,在数据库中进行计算.需要切分日期的字符串,转化成整数,插入int 数组中,手工实现太慢,就直接借用系统的strstr函数来用了. 场景模拟: 1. shell脚本: #diao.sh #!/bin/bash date1="20170622,20170623,20170626,20170627,20170628,20170629,2…
今天上午在写一个需求,要求的比较急,要求当天完成,我大致分析了一下,可以采用从shell脚本中插入一连串的日期,通过调用proc生成的可执行文件,将日期传入后台数据库,在数据库中进行计算.需要切分日期的字符串,转化成整数,插入int 数组中,手工实现太慢,就直接借用系统的strtok函数来用了. 场景模拟: 1. shell脚本: #diao.sh #!/bin/bash date1="20170622,20170623,20170626,20170627,20170628,20170629,2…
Shell脚本调用SQL文格式 1. 定义需要执行的SQL文,以及需要输出文件 OUTFILE=\${DATADIR}/\${FILENAME} SQLFILE=\${DATADIR}/check_tradedetail.sql 2. 设置需要执行的SQL文 echo -n " select tr.id || ',' || m.merchant_code || ',' || m.merchant_name || ',' || to_char(tr.trade_start_time, 'yyyy-…
在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一:   . ./subscript.sh 方法二:   source ./subscript.sh 注意: 1.两个点之间,有空格,千万注意. 2.两个脚本不在同一目录,要用绝对路径 3.为简单起见,通常用第一种方法 例如: 复制代码代码如下: main.sh           #主脚本 subscripts.sh     #子脚本,或者说被调脚本 [code] [code] ###subscripts.sh 脚本…
在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方法一:   . ./subscript.sh  (两个点之间,有空格) 方法二:   source ./subscript.sh 以第一种方式为例: sub.sh main.sh 执行输出:  注意: 1.在main.sh中调用sub.sh脚本后,sub.sh中的命令都会执行 2.在main.sh中调用sub.sh脚本中注意脚本路径,可以为相对路径,也可为绝对路径…
最近由于项目自动化构建的需要,研究了下gradle调用脚本并传参的用法,在此作个总结. Pre build.gradle中定义了$jenkinsJobName $jenkinsBuild两个Jenkins变量,意图将gradle中的这两个值传到shell/python脚本中去用 def jenkinsBuild = System.getenv("BUILD_NUMBER") ?: "0" println "jenkinsBuild is set to $j…
转自:http://blog.sina.com.cn/s/blog_6433391301019bpn.html 在java程序中如何调用linux的命令?如何调用shell脚本呢? 这里不得不提到java的process类了. process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类). process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut d…
当前有shell个脚本/tmp/test.sh,内容如下: #!/bin/bashexit 11 使用Python的os.system调用,获取返回值是: >>> ret=os.system("/tmp/test.sh")>>> ret2816 查看Manual没有说明.网上找到解释如下: os.system(cmd): 该方法在调用完shell脚本后,返回一个16位的二进制数,低位为杀死所调用脚本的信号号码,高位为脚本的退出状态码.如果我们需要获得…
为了更方便的查询并产生报表, 需要使用shell脚本调用spark-sql spark/bin/spark-sql --master spark://host:7077 -f ${SQL_FILE} > ${OUT_FILE}…
Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可少的技能之一.本文针对Linux/Unix shell脚本调用sql, rman 脚本给出了相关示例. 一.由shell脚本调用sql,rman脚本 1.shell脚本调用sql脚本 #首先编辑sql文件 oracle@SZDB:~> more dept.sql connect scott/tige…
C程序调用shell脚本共有三种法子 :system().popen().exec系列函数call_exec1.c ,内容为:system() 不用你自己去产生进程,它已经封装了,直接加入自己的命令exec 需要你自己 fork 进程,然后exec 自己的命令popen() 也可以实现执行你的命令,比system 开销小 1.system(执行shell 命令) 相关函数 fork,execve,waitpid,popen表头文件 #include<stdlib.h>定义函数 int syst…
在Hudson或者Jenkins中利用ant的exec 来调用shell命令,通过shell脚本来执行adb shell命令,可以正常执行,不会出现在ant中直接调用adb shell出现的假死情况. 其中shell 脚本也很简单 #!/bin/sh adb root adb shell /system/data/lib adb shell ./system/data/lib/helloworld 可以执行手机端中的程序进行测试.…
问题出现的场景大概就是 1  cron调用一个python脚本 2  python脚本中调用一个shell脚本(对日志分析)获取shell输出然后发送邮件 类似一个监控任务. 直接运行python脚本没有问题,可是写在cron中之后.shell脚本中的相对路径就找不到了,总是提示无法找到某些文件 后来解决的问题就是使用log文件的绝对路径,执行就正常了. google了一些,发现非常多人也遇到过类似的问题,可能和cron的机制有关系. 大部分人的问题都是由于环境变量造成的.由于cron是一个独立…
/** * 运行shell脚本 * @param shell 需要运行的shell脚本 */ public static void execShell(String shell){ try { Runtime rt = Runtime.getRuntime(); rt.exec(shell); } catch (Exception e) { e.printStackTrace(); } } /** * 运行shell * * @param shStr * 需要执行的shell * @return…