当前位置:首页 » 编程软件 » shell脚本执行shell脚本

shell脚本执行shell脚本

发布时间: 2023-10-09 22:15:18

‘壹’ shell脚本获取参数&在线执行shell脚本

本文介绍以下升携伏2个知识点,为后后续在工作过程中安装一吵携键安装脚本打好基础:

如下shell脚本中传入的参隐链数依次值如下:

如脚本 getopts.sh

执行 ./getopts.sh -a dd -b ,打印如下结果

如脚本 for.sh

有时候shell脚本可以放在http页面上,不用download,可以直接执行。

https://www.cnblogs.com/klb561/p/8933992.html
https://www.cnblogs.com/faberbeta/archive/2004/01/13/13559686.html

‘贰’ windows怎么运行shell脚本

在工作中情况会在碰到linux下进行执行shell的脚本,而就会使用shell的脚本,但经常使用的Windows的系统,而想在Windows电脑中进行直接shell的脚本,而不用再进行学习其它的脚本语言。

工具/原料

Windows

git

方法/步骤

1、首先电脑中需要安装的是git的应用程序,安装完成之后,可以在开始菜单进行查看。

‘叁’ 执行shell脚本三种方法的区别:(sh、exec、source)

使用$ sh script.sh执行脚本时,当前shell是父进程,生成一个子shell进程,在子shell中执行脚本。脚本执行完毕,退出子shell,回到当前shell。
./script.sh与 sh script.sh等效。

使用$ source script.sh方式,在当前上下文中执行脚本,不会生成新的进程。脚本执行完毕,回到当前shell。
source方式也叫点命令。
. script.sh与 source script.sh等效。

使用exec command方式,会用command进程替换当前shell进程,并且保持PID不变。执行完毕,直接退出,不回到之前的shell环境。

二、测试验证
vi loop.sh

显示当前进程

sh的方式:执行loop.sh打印执行进程

source方式:执行loop.sh打印执行进程

exec方式:执行loop.sh打印执行进程

按下ctrl+C

sh方式:父进程是6770,执行loop.sh时的子进程是13736。执行完毕后回到父进程shell。
source方式:父进程和子进程都是6770(执行时没有新的进程),执行完毕会回到父进程shell。
exec方式:进程PID没有改变都是6770,执行完毕(ctrl+C强制关闭)时直接退出了shell。脚本执行时替换了父进程的shell,执行完毕后直接退出,没有回到之前的shell。

‘肆’ Linux下如何执行Shell脚本

linux下可以有两种方式执行shell脚本:
1、用shell程序执行脚本:根据shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等(一般来说第一行#!/bin/bash里面指明了shell类型的,比如#!/bin/bash指明是bash,#!/bin/sh则是sh);然后输入命令(其中bash为shell的名称,myshell.sh则为要执行的代码):
bash
myshell.sh
2、直接执行脚本:
不过首先的加上可执行权限(也许要root权限,4情况而定),执行:

‘伍’ 执行shell脚本的方式主要是什么

(1)输入定向到Shell脚本
$ bash < 脚本名

(2)以脚本名作为参数
$ bash 脚本名 〔参数〕

(3)将Shell脚本的权限设置为可执行,然后在提示符下直接执行它。
$ chmod a+x 脚本名
$ PATH=&PATH:.
$ 脚本名

‘陆’ 如何运行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 脚本中,可以使用以下方法在后台运行脚本:

  • 在脚本名后面加上 & 符号,如:

./script.sh &

  • 在脚本中使用 nohup 命令,亏带如:

nohup ./script.sh &

使用 nohup 命令的好处是可以在销睁芦退出 shell 终端后继续运行脚本。

如果要在后台运行的脚本不需要控制台输出,可以将标准输出和错误输出重定向到 /dev/null,如:

nohup ./script.sh > /dev/null 2>&1 &

这样就可以在后台早耐运行脚本,且不会在命令行输出任何信息

‘捌’ Linux Shell脚本的执行过程

用户登录时,将会取得一个 bash ,这个 bash 在系统中有一个全局唯一的ID,也就是进程的ID,使用命令 ps -ef 并配合 grep 来查看进程ID。 ps -ef|grep bash ,此命令还能查看进程对应的父进程ID,系统中所有进程的祖先进程都是INIT进程(进程ID=1),它是最先启动运行的。
回到 bash 进程,也就是我们的命令行界面,进程的执行都有其附属的执行环境,环境变量就属于其中之一。并且环境变量是可以完全被子进程继承的,也就是说,子进程可以使用父进程的环境变量,但是不能使用父进程的自定义变量。
简而言之: 子进程继承父进程的环境变量,不继承父进程的自定义变量。

shell脚本有4种执行方式,不同的执行方式可能导致结果不一致

四种方式的执行结果如下:

热点内容
jdbcoracle连接数据库 发布:2024-11-18 12:08:40 浏览:821
服务器地址如何推送给客服 发布:2024-11-18 11:46:27 浏览:222
android滑动菜单左右 发布:2024-11-18 11:45:45 浏览:654
安卓如何把手机短信导入电脑 发布:2024-11-18 11:32:44 浏览:298
如何天选2查看电脑配置 发布:2024-11-18 11:32:36 浏览:422
phpinclude目录 发布:2024-11-18 11:29:38 浏览:723
西门子hmi屏反编译软件 发布:2024-11-18 11:29:36 浏览:764
安卓机如何看微信撤回消息 发布:2024-11-18 11:25:08 浏览:571
解压循环动画创意c4d 发布:2024-11-18 11:20:20 浏览:933
phpcurlcookie 发布:2024-11-18 11:20:10 浏览:79