- 浏览: 141685 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
cnmcxiari:
Set ws = CreateObject("Wsc ...
bat启动java程序 可以隐藏cmd窗口 -
timer_yin:
不行啊 还是无法隐藏CMD窗口
bat启动java程序 可以隐藏cmd窗口
- fork ( /directory/script.sh)
fork是最普通的, 就是直接在脚本里面用/directory/script.sh来调用script.sh这个脚本.
运行的时候开一个sub-shell执行调用的脚本,sub-shell执行的时候, parent-shell还在。
sub-shell执行完毕后返回parent-shell. sub-shell从parent-shell继承环境变量.但是sub-shell中的环境变量不会带回parent-shell
-
exec (exec /directory/script.sh)
exec与fork不同,不需要新开一个sub-shell来执行被调用的脚本. 被调用的脚本与父脚本在同一个shell内执行。但是使用exec调用一个新脚本以后, 父脚本中exec行之后的内容就不会再执行了。这是exec和source的区别
-
source (source /directory/script.sh)
与fork的区别是不新开一个sub-shell来执行被调用的脚本,而是在同一个shell中执行. 所以被调用的脚本中声明的变量和环境变量, 都可以在主脚本中得到和使用.
可以通过下面这两个脚本来体会三种调用方式的不同:
1.sh
#!/bin/bash
A=B
echo "PID for 1.sh before exec/source/fork:$$"
export A
echo "1.sh: \$A is $A"
case $1 in
exec)
echo "using exec…"
exec ./2.sh ;;
source)
echo "using source…"
. ./2.sh ;;
*)
echo "using fork by default…"
./2.sh ;;
esac
echo "PID for 1.sh after exec/source/fork:$$"
echo "1.sh: \$A is $A"
2.sh
#!/bin/bash
echo "PID for 2.sh: $$"
echo "2.sh get \$A=$A from 1.sh"
A=C
export A
echo "2.sh: \$A is $A"
执行情况:
$ ./1.sh
PID for 1.sh before exec/source/fork:5845364
1.sh: $A is B
using fork by default…
PID for 2.sh: 5242940
2.sh get $A=B from 1.sh
2.sh: $A is C
PID for 1.sh after exec/source/fork:5845364
1.sh: $A is B
$ ./1.sh exec
PID for 1.sh before exec/source/fork:5562668
1.sh: $A is B
using exec…
PID for 2.sh: 5562668
2.sh get $A=B from 1.sh
2.sh: $A is C
$ ./1.sh source
PID for 1.sh before exec/source/fork:5156894
1.sh: $A is B
using source…
PID for 2.sh: 5156894
2.sh get $A=B from 1.sh
2.sh: $A is C
PID for 1.sh after exec/source/fork:5156894
1.sh: $A is C
$
发表评论
-
博客迁移说明
2014-05-08 14:49 570从今天起,此博客空间不再更新博客,全部博客迁移到http: ... -
reids学习(持续更新)
2013-08-28 15:38 644reids命令 文档查询网址http://redis.read ... -
编码解析过程
2013-07-11 19:21 937如果不进行encodeuri时而且web容器没有设置编 ... -
top:动态观察程序的变化
2013-07-11 17:46 824转载自:http://www.cnblogs.com/all ... -
linux 服务器之间做同步
2013-05-08 18:16 740在工作中我经常要用到服务器之间的数据同步 使用的命令rsy ... -
java 内存分析之---Eclipse Memory Analyzer使用
2013-05-03 17:42 1188生成报告 jmap -dump:live,format=b ... -
Rides 学习
2012-12-06 14:08 801http://www.searchdatabase.com.c ... -
apache学习
2012-11-05 11:05 689通过配置APACHE,使得被访问页面在客户端进行缓存,从而实现 ... -
linux 下apache的使用
2012-11-01 10:07 0安装: ./configure --prefix=/usr/ ... -
工具命令
2012-10-16 17:04 673nslookup 域名 netstat ... -
性能分析工具
2012-10-16 10:52 1539jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: ... -
nginx使用
2012-10-11 18:43 719nginx/nginx.conf 配置讲解:http:// ... -
win7 安装盘 进行分区
2012-05-29 14:37 709windows7安装盘自带的分区工具分区,会产生100M的隐藏 ... -
bat启动java程序 可以隐藏cmd窗口
2012-01-08 15:12 11329启动: 程序启动时创建一个文件 然后程序运行,主线程检测文件 ... -
TCP 学习
2011-12-31 11:53 738断开连接时的意外:这个算不上断开连接时的意外,当TCP连接发生 ... -
linux中终止java程序/进程
2011-12-29 09:26 5530在linux/unix下,你会怎么中止一个java应用或进程? ... -
乱码处理
2011-11-24 10:12 920将GBK编码的filename 转换成utf-8形式的newF ... -
FTP的应用
2011-11-14 19:30 794我们很多时候会用到FTP服务,但是往往需要我们安装ftp服务后 ... -
svn导出导入使用
2011-11-14 18:16 4400因为要更换svn服务器,因此需要在将原有的代码库迁移到新服务器 ... -
tomcat在windows和ubuntu下的安装配置
2009-12-24 09:52 806tomcat在windows和ubuntu下的安装配置 win ...
相关推荐
**PyPI 官网下载 | cloudshell-app-helper-1.0.5.tar.gz** PyPI(Python Package Index)是Python编程语言的官方软件仓库,它为开发者提供了发布、分享和发现Python模块的平台。在本案例中,我们讨论的是一个名为`...
《PyPI上的cloudshell-cp-azure-1.9.1.tar.gz:探索Azure云服务与Python的深度集成》 PyPI(Python Package Index)是Python开发者获取和分享开源软件包的重要平台。在这个平台上,我们可以找到名为“cloudshell-cp...
通过学习这些示例,你可以更好地理解如何在Android上利用`app_process`来调用shell命令,以及如何处理相关的Java编程和权限问题。 总的来说,掌握`app_process`的使用不仅可以帮助开发者在非root环境下执行系统级...
### 解决Unity不能调用shell脚本传递参数的问题 在Unity开发过程中,有时我们需要与操作系统进行交互,例如执行shell脚本来处理一些特定的任务。但在实际操作中,可能会遇到Unity无法正确调用shell脚本并传递参数的...
"shell-as-service"库的核心概念就是服务化,即将命令行操作转化为服务,让其他程序或者远程客户端可以调用。 该库可能包括以下主要组件和功能: 1. **服务器端组件**:这是运行在目标机器上的部分,接收并执行来自...
《PyPI官网下载:cloudshell-octopus-deploy-4.1.80.zip——Python库解析》 PyPI(Python Package Index)是Python开发者的重要资源库,它为全球的Python用户提供了大量的开源软件包和模块,使得开发变得更加便捷。...
1. **Shell简介**:Shell是操作系统提供的一个用户界面,它允许用户输入命令并执行系统调用。常见的Shell有Bash(Bourne-Again SHell)、Sh、Csh、Ksh和Zsh等。 2. **Bash shell**:Bash是最广泛使用的Shell,它是...
Java 调用 Shell 命令 在 Java 中调用 Shell 命令是非常常见的操作,特别是在需要执行系统命令或脚本时。在这个例子中,我们将看到如何使用 Java 调用 Shell 命令,并介绍相关的知识点。 Java 调用 Shell 命令的...
**SHELL编程初学者指南** SHELL编程是UNIX和Linux操作系统中的重要组成部分,它是一种...《UNIX[1].Shell编程24学时教程.pdf》这样的资源会详细讲解这些主题,并提供实际案例供读者练习,是学习SHELL编程的理想材料。
4. **函数**:Shell脚本支持定义和调用函数,使得代码模块化,更易于维护。 5. **输入/输出重定向**:`>`用于重定向输出到文件,`用于从文件读取输入,`>>`用于追加输出到文件。 6. **管道符**:`|`允许你将一个...
它与X-Shell无缝集成,用户可以在X-Shell的终端环境中直接调用X-Ftp进行文件传输,无需在多个窗口之间切换。X-Ftp支持拖放操作,界面直观,操作简便,同时具备文件预览、文件同步和计划任务等功能,确保了文件传输的...
在后续章节中,教程可能还会涵盖更多内容,如错误处理、环境变量、Shell函数、脚本调试技巧,甚至可能涉及到更高级的主题,如进程管理、信号处理以及与系统调用的交互。 通过这个教程的学习,读者将能够编写出功能...
在某些情况下,Java程序需要调用Shell脚本执行特定的操作,比如访问Linux系统命令或者自动化执行一些任务。本文将详细解释Java如何调用Shell脚本,包括如何编写Shell脚本和在Java中如何传递参数。 首先,Shell脚本...
标题中的"Debian-Shell-Tools-master.zip"表明这是一个基于Debian操作系统的shell脚本工具集合,主要用于提高系统管理和自动化任务的效率。这个压缩包很可能包含了一系列的bash脚本和其他相关辅助文件,方便用户在...
- **函数定义与调用**:Shell脚本支持函数定义,可以提高代码的复用性和可读性。 - 示例: ```bash function greet() { echo "Hello, $1" } greet "Alice" ``` - **错误处理**:通过设置脚本的退出状态码...
本文将深入浅出地介绍Linux的基础知识,特别是Shell编程,为初学者提供一个全面的学习路径。 首先,我们需要理解Linux的核心概念。Linux是一种类Unix操作系统,它的核心是一个内核,负责管理硬件资源,而用户通过...
shell_utils是一个专门用于处理shell命令的Python库,它的主要功能是提供一套接口,使得在Python程序中调用操作系统命令变得简单且安全。这个版本号为2.0的库支持Python 2和Python 3,意味着无论你是使用哪个版本的...
在这个"shell-_-Linux-.zip_shell 进程"压缩包中,包含了一系列用于监控系统和进程资源的脚本,下面我们来详细探讨这些脚本及其涉及的知识点。 1. **function.inc**:这个文件通常包含了通用的函数定义,可以在其他...