如何在windows shell 脚本下使用linux的shell脚本

&&&& IT技术吧-专业的电脑技术和领先的网络技术网站
linux下shell脚本执行方法及exec和source命令
作者:OscerSong linux下shell脚本执行方法及exec和source命令 exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。 bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调...
作者:OscerSong
linux下shell脚本执行方法及exec和source命令
exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。
bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、history、exec等等。
在说明exe和source的区别之前,先说明一下fork的概念。
&华夏联盟论坛
fork是linux的系统调用,用来创建子进程(child process)。子进程是父进程(parent process)的一个副本,从父进程那里获得一定的资源分配以及继承父进程的环境。子进程与父进程唯一不同的地方在于pid(process id)。
环境变量(传给子进程的变量,遗传性是本地变量和环境变量的根本区别)只能单向从父进程传给子进程。不管子进程的环境变量如何变化,都不会影响父进程的环境变量。
shell script:
有两种方法执行shell scripts,一种是新产生一个shell,然后执行相应的shell scripts;一种是在当前shell下执行,不再启用其他shell。
新产生一个shell然后再执行scripts的方法是在scripts文件开头加入以下语句
一般的script文件(.sh)即是这种用法。这种方法先启用新的sub-shell(新的子进程),然后在其下执行命令。
另外一种方法就是上面说过的source命令,不再产生新的shell,而在当前shell下执行一切命令。
source命令即点(.)命令。
在bash下输入man source,找到source命令解释处,可以看到解释&Read and execute commands from filename in the current shell environment and ...&。从中可以知道,source命令是在当前进程中执行参数文件中的各个命令,而不是另起子进程(或sub-shell)。
在bash下输入man exec,找到exec命令解释处,可以看到有&No new process is created.&这样的解释,这就是说exec命令不产生新的子进程。那么exec与source的区别是什么呢?
exec命令在执行时会把当前的shell process关闭,然后换到后面的命令继续执行。
(责任编辑:IT技术吧)
------分隔线----------------------------
赞助商展区如何在windows下使用linux的shell脚本_百度知道
如何在windows下使用linux的shell脚本
提问者采纳
安装cygwin模拟器模拟linux环境安装双系统,在linux系统中执行使用虚拟机,在虚拟机中安装linux后执行shell脚本是无法直接在windows中使用的
其他类似问题
shell脚本的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何在windows下使用linux的shell脚本_百度知道
如何在windows下使用linux的shell脚本
提问者采纳
就需要你追问了,如果是别的情况,如果你希望在windows上实现Linux脚本的操作效果?或许是你表述不清吧,可以尝试使用dos命令等来执行,windows支持的dos命令跟Linux支持的shell命令是不兼容的……更何况Linux脚本不只是shell脚本这一种……所以你的问题有点问题这个可以吗
其他类似问题
按默认排序
其他1条回答
因为它虽然不是 Linux系统内核的一部分应该没法、创建文档并以并行的方式协调各个程序的运行,但它调用了系统内核的大部分功能来执行程序
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 linux运行shell脚本 的文章

 

随机推荐