当前位置:首页 » 编程软件 » sh脚本调用sh

sh脚本调用sh

发布时间: 2022-06-29 16:55:15

⑴ shell脚本中调用脚本

里面有个错误,time 是个命令,不能用来做变量,这是致命的!
----------------
我给个测试脚本你试一下:
.............
#!/bin/sh
flag=0
plan_hour=19
plan_minutes=47
plan_time=`echo -n "$plan_hour";echo -n "$plan_minutes"`
clear

while true
do
hour=`date +"%H"`
minutes=`date +"%M"`
seconds=`date +"%S"`
time1=`echo -n "$hour";echo -n "$minutes"`
clear
echo -n "现在的时间为: "
echo -n $hour
echo -n :
echo -n $minutes
echo -n :
echo -n $seconds

if [ "$time1" -eq "$plan_time" ]; then
flag=1
clear
echo -n "3秒后关闭 1.sh"
sleep 3
ps -ef|grep "sh 1.sh"|grep -v grep|awk '{print $2}'|xargs kill
clear
echo "1.sh 已经结束;2.sh 1分钟后唤醒 1.sh"
sleep 59
fi

sleep 1
if [ $flag -eq 1 ]; then
sh 1.sh
exit 0
fi

done
===============
脚本一开始预定关闭 1.sh 的时间。
在未到定时时,就显式时间。
定时时间到,给出杀死 1.sh 的提示,3秒后杀死,然后再 1 分钟后再唤醒 1.sh 进程。唤醒 1.sh 后,2.sh 也就跟着退出了。
------------------------------------------------------
2.sh 时间设对了是可以杀死 1.sh 的。
如果按照你的要求,我觉得写个程序应该更好处理些,参考代码如下:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>

int main()
{
pid_t pid;
while(1) {
pid = fork();

switch(pid) {
case -1:
perror("fork failed");
exit(1);
case 0:
while(1) {
printf("I'm 1.sh ,I'm running........\n");
sleep(1);
}

default:
sleep(5);
kill(pid, SIGKILL);
printf("child over\n");
sleep(40);
break;
}
}
return 0;
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
上面程序,先 fork() 出一个子进程,相当于 1.sh,然后你在子进程里做你要做的事情。父进程在 5s 后(相当于每天预设的一个时间,每天的时间设定可用相关的函数进行设置检测)杀死子进程,然后睡眠 40s,醒来后,又循环 fork() 同样的子进程做同样的事情。

⑵ sh脚本如何自动执行java程序,并且该脚本如何被定期调用

各位好我有一个问题,是这样: 环境:有一套管理系统(包括联机和批量),该管理系统白天运行联机系统,晚上运行批量系统。 目的:联机系统运行到晚上,会停掉,这时候通过在unix下的sh脚本调用并且启动批量系统。 sh脚本可以调用java程序,通过java程序就可以启动了批量系统。 andilyliao 写道最简单的方法 你可以用java写一个job 然后每天晚上执行sh mginobili 写道可以在脚本中 实现一个定时功能啊 比如每隔半小时 检查一次当前的时间 如果到了晚上 就停止联机系统,运行批量系统 当然前提是 这个sh脚本要一直保持运行状态 并且其错误处理机制要完善问题补充:哦。你的意思是不是这样啊, 这个sh脚本作为一个定时器,定时调用启动联机系统或者批量系统的程序。 通过while(1)这样一个循环,一直运行不中断,然后sleep一定时间,就调用联机的启动程序,再过一定时间,关闭联机启动批量系统。

⑶ 苹果mac系统下如何编写.sh脚本调用安装的某个程序打开指定文件

你先找到应用程序里的一个macos文件夹,把里面的可执行文件路径弄下来 后面加上jsf文件的路径

⑷ 在执行a.sh这个shell脚本时会调用shell脚本b.sh,怎么通过a.sh给b.sh中环境变量重新赋值

使用 . 可以把另一个脚本读进来,,然后就可以引用其变量了

. /path/b.sh

b中的变量直接引用

⑸ shell脚本里的函数怎么调用

shell中的函数,要在定义这个函数的脚本中进行调用!

#!/bin/sh
echo_line(){
echodate
echo"Wellcometoshellfunc!"
}
echo_hello(){
echo"HelloWorld!"
}

##在这里调用,将全部代码写入test.sh就可以了
echo"callecho_hello"
echo_hello
echo"callecho_line"
echo_line

在命令行下执行:

$test.sh

linux下如何编写脚本文件sh调用c++程序

首先将c++程序编译成可执行文件,例如使用g++编译
然后在sh脚本中直接使用上一步中产生的可执行文件即可(注意使用时该可执行文件在PATH包含的路径下面)
平时使用的shell命令很多都是用C语言等写的,然后编译成了可执行的文件

⑺ shell脚本怎么随机调用其他脚本

1. 计算出当前目录下以.sh结尾的脚本数目(假设头脚本不在这个文件夹里):num=`ls *.sh|wc -l`
2. 获取当前秒数:sec=`date +%s`
3. 基于脚本数目计算随机数(范围1~$num):randNum=`expr $sec % $num + 1`
4. 根据随机数调用脚本:sh /path/`ls|sed -n ${randNum}p`

热点内容
linux命令全称 发布:2024-05-17 12:07:54 浏览:109
ftpnas区别 发布:2024-05-17 12:06:18 浏览:947
512g存储芯片价格 发布:2024-05-17 12:04:48 浏览:962
脚本运行周期 发布:2024-05-17 11:39:09 浏览:807
阿里云服务器怎么配置发信功能 发布:2024-05-17 11:37:24 浏览:312
编程中的变量 发布:2024-05-17 11:33:06 浏览:776
加密视频怎么解密 发布:2024-05-17 11:02:52 浏览:571
柳工挖机密码多少合适 发布:2024-05-17 11:00:40 浏览:188
android工程叹号 发布:2024-05-17 10:56:21 浏览:481
在苹果手机应用怎么比安卓贵 发布:2024-05-17 10:56:20 浏览:548