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

shell脚本调用shell

发布时间: 2022-08-22 00:29:13

Ⅰ 如何在shell脚本里调用另一个shell脚本

子shell变量传递给父shell,中间可以保存个临时文件让父shell去读。下边是一个子shell,传递给父shell的一个例子,仅做参考#!/bin/bash(subvar="helloshell"echo"$subvar">temp.txt)readpvar

Ⅱ 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() 同样的子进程做同样的事情。

Ⅲ shell脚本怎么调用其他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!
#

Ⅳ 如何在shell脚本中调用另一个shell的结果

可以将通用脚本获取的结果直接输出,比如你的通用脚本在/path/to/getDate.sh
内容比如如下:
echo
"2013-02-26"
然后在另外一个脚本里可以这样获得它的输出
Date=`sh
/path/to/getDate.sh`
#
注意这里不是
引号
,而是反引号就是Esc下面1左边的键
现在Date变量的值就是"2013-02-26"

Ⅳ shell脚本调用问题

cat log|grep 'Start Time'|tail -n 2|head -n 1|awk -F: '{print $2}'
把start time作为关键字,找到倒数第二个,再获取时间戳。倒数第几个,你改tail就可以了

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

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

. /path/b.sh

b中的变量直接引用

Ⅶ shell从外部读入参数调用另一个shell脚本的问题

调用的时候给$args加双引号就行了
sh other.sh "$args"

任何字符串变量,在使用的时候最好都加上双引号。

Ⅷ 如何运行shell脚本

编写好的shell脚本(如:test),可以采取两种方式进行运行: 一、 $ sh test 一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。 也可以采用 $ ksh test 这种方式要求shell具有“可读”的访问权限。 二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。 chmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限) chmod +rx test(同上) chmod u+rx test(只有文件属主具有读和执行的访问权限) 按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。 1、test(如果命令检索路径包含当前目录) 2、./test(如果命令减缩路径不包含当前目录) *说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。

Ⅸ 如何运行shell脚本

编写好的shell脚本(如:test),可以采取两种方式进行运行:
一、 $ sh test
一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。
也可以采用 $ ksh test
这种方式要求shell具有“可读”的访问权限。
二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。
chmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限)
chmod +rx test(同上)
chmod u+rx test(只有文件属主具有读和执行的访问权限)
按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。
1、test(如果命令检索路径包含当前目录)
2、./test(如果命令减缩路径不包含当前目录)
*说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。

Ⅹ 如何在shell脚本中调用另一个shell的

用bash命令,后面跟脚本路径就可以了。

热点内容
华为平板怎么储存服务器文件 发布:2025-02-06 12:49:21 浏览:479
php查询结果数组 发布:2025-02-06 12:31:05 浏览:714
怎样把照片压缩打包 发布:2025-02-06 12:15:19 浏览:496
如何编译java文件 发布:2025-02-06 12:05:58 浏览:237
九九乘法编程 发布:2025-02-06 12:05:05 浏览:519
台式机忘记开机密码怎么办 发布:2025-02-06 11:58:01 浏览:871
android刷新按钮 发布:2025-02-06 11:57:17 浏览:586
存储过程有输入参数和输出参数 发布:2025-02-06 11:55:32 浏览:99
成绩评选算法 发布:2025-02-06 11:42:51 浏览:997
数据库测试数据 发布:2025-02-06 11:31:05 浏览:824