Linux下如何运行BAT脚本 (linux怎么执行bat脚本)

在Windows系统下,BAT脚本是常见的自动化脚本,它可以让我们在需要执行一系列命令的时候,只需要运行一个脚本就可以了。然而,在Linux系统下,我们也可以使用脚本来完成一系列操作,只不过脚本的格式不同,这就需要我们学习如何在Linux系统下执行BAT脚本。接下来,本文将介绍如何在Linux系统下运行BAT脚本。

一、理解BAT脚本

在Windows系统下,BAT脚本是批处理文件的一种,也就是一段用文本编辑器编写的批处理命令序列。它可以完成一系列复杂的操作,如批量重命名文件、批量修改文件内容、自动备份等等。BAT脚本可以让我们在执行一系列命令时不需要一个一个敲入,只需要在一个文件中将这些命令保存下来,然后运行这个文件即可。在Linux系统下,虽然没有BAT扩展名,但我们可以使用其他的命名方式,如.sh。

二、创建BAT脚本

在Linux系统下创建BAT脚本,我们需要使用文本编辑器来进行操作,例如使用vim、nano等编辑器。这里以vim为例,具体步骤如下:

1. 打开终端,输入命令“vim test.sh”,创建一个名为test.sh的脚本文件。

2. 在vim编辑器中输入需要执行的命令序列,例如:

“`

#!/bin/bash

echo “Hello World”

ls -l

“`

其中之一行是个必需的表述脚本的解释器类型。

3. 输入完成之后,按下Esc键退出编辑模式,然后输入:wq保存并退出。

三、运行BAT脚本

一旦我们创建了一个BAT脚本,接下来就需要了解如何运行这个脚本。

1. 给脚本添加执行权限

在Linux系统下,要运行一个脚本文件,首先需要给这个脚本文件添加执行权限。给脚本文件添加执行权限的命令是chmod +x test.sh(其中test.sh是你创建的脚本文件名)。输入完这个命令之后,按下回车,就给test.sh脚本文件添加了执行权限。

2. 运行脚本文件

给脚本文件添加完执行权限之后,就可以使用./test.sh命令来运行这个脚本文件了。输入完这个命令之后,按下回车,脚本文件就会被执行。

需要注意的是,在Linux系统下,脚本文件被执行时通常没有图形用户界面,所以我们需要在命令行中观察脚本的执行结果,以确定脚本是否执行成功。

四、脚本的调试

在运行BAT脚本时,有时候脚本出现问题,我们需要对脚本进行调试,以找出问题的原因和解决方案。在Linux系统下,我们可以使用bash的-e选项开启脚本的debug模式,具体方法如下:

执行命令“bash -e test.sh”,这个命令将在debug模式下运行test.sh脚本。如果脚本运行时发生错误,系统会输出错误信息,以便我们调试错误。

五、

通过本文,我们了解了在Linux系统下如何运行BAT脚本的方法。我们需要创建一个BAT脚本,然后给这个脚本文件添加执行权限,并使用./test.sh命令来运行这个脚本文件。如果脚本运行时出现问题,可以使用bash的-e选项开启脚本的debug模式进行调试。有了BAT脚本的帮助,我们可以轻松完成批量化操作,提高我们的工作效率和生产力。

相关问题拓展阅读:

如何使windows下的bat文件调用linux下的shell脚本的方法

之一步:规划

在连通bat和shell之前要先把windows和windows之间的关系,linux和linux之间的关系打通。

windows之间用net use 进行连接,linux之间使用ssh进行连接

第二步:打地基

PS:以下所有运行环境都是在超级管理员下运行,省的跳出一些乱七八糟的东西阻碍造桥大计。

windows间可用net use进行测试,查看是否能相连的。

例:net use \\192.168.1.124\ipc$ “123456” /user:”administrator”

net use \\ip地址\ipc$ “密码”/user:”用户名”

这个密码和用户名都是要连接过去那台机子的密码和用户名的

若出现以下提示就证明连接成功

当然万事都是没有这么顺利的。。。

例如。。。

像这么些乱七八糟的错误基本就是网络不通啊,ip地址有误,用户名密码有误之类造成的。。。

所以得多多利用度娘、谷姐之类的神器进行解决。

或许有时候可能还会亏培用到以下一些命令

net use 来查看哪些是存在的

net use \\192.168.1.210\ipc$ /del 用来删除连接

windows的连接方式就是如此。

在你的客户机上用同样的方法去测试需要加入批量关机大军的windows服务器。

linux间通信使用ssh方式来进行。

先进行配置linux间ssh双机互信机制,这样就可以使两机之间通信不需要输入密码进行访问,将密码全部隐藏起来,这样也起到了安全作用。

关于ssh双机信任机制可以我之前的博客上查看

第三部:架桥

现在linux机器上写一个shell脚本进行批量关机

其中ip.txt存放要批量关机的linux机器ip

当然shutdown_boot.sh应该像下面这样写,而不是图片中的那样,图片中的内容只是我做测试用的。

#!/bin/sh

for ip in `cat ip.txt`

do

ssh $ip

echo “{$ip} shutdown now…”

ifconfig

init 0

EOF

done

ssh 192.168.1.216 -p10088

echo “shutdown 192.168.1.216 now….”

ifconfig

init 0

EOF

因为在我的正式环境中216这台机子SSH端口比较特殊,所以单独剥离出来。

桥的一端已搭好,现在搭建另一端,windows下bat脚本来进行windows批量关机

建立一个shutdown.bat文件

写入以下内容

#批量关闭windows机器

net use \\192.168.1.249\ipc$ “12345” /user:”administrator”

shutdown -s -f -t 20 -m \\192.168.1.249

net use \\192.168.1.254\ipc$ “123456” /user:”administrator”

shutdown -s -f -t 20 -m \\192.168.1.254

net use \\192.168.1.210\ipc$ “123456” /user:”administrator”

shutdown -s -f -t 20 -m \\192.168.1.210

桥的纤空消另一端也搭好了

最后一步就是把两端连起来

这时候就要请出我们的putty工具

可谷姐、度娘下载一个

之一次要进行手动连接

用这个工具进行连接shell脚本毁知所在的那台机子

填上IP和端口即可。

然后进行连接,会提示输入用户名和密码,登入完后就出现sshhostkeys文件夹

然后把shutdown.bat文件放入到跟这文件夹同级目录下。

在bat文件添加以下内容

#批量关闭linux机器

D:

cd puttyfile_0.62cn

putty.exe -ssh -pwm test.sh

简单说下这个语法

putty.ext -ssh -pw 密码 -m 要在linux执行的文件 用户名@IP地址

其中test.sh也是放在sshhostkeys同级目录下,里面写上你要向linux执行的命令

#!/bin/sh

cd /opt/script/shell

#mkdir /tmp/test061502

sh shutdown_boot.sh

#mkdir test06170

最终的结果就是以下内容了

shutdown.bat

test.sh

这样就大功告成

第四步:后期工作

按照这个流程可以完成最初的要求,但这样会存在很多的安全问题,密码明码就是一个问题,这个还有待研究看要怎样处理。

另外一个,在这个bat文件中更好加一个时间判断,比如晚上6点后点击执行这个bat文件可以正常运行,其他时间段点击时则出现告警,以防误操作导致关机。

还有其他的等等一些内容需要完善,待以后想到了在 进行补充。

编写Linux脚本或者windows的bat文件

cd /铅亏test

ftp 192.168.0.5

test

test

prompt off

mget cf*

EOF

有,直接写一个普通批处理文件,如果是需要让它在系统启动时运行,就将它放在C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup目录下,如果是需要它在系统注销或关机时运行,就将它放在C:\Windows\System32\Grouppolicy\Machine\Scripts\Shutdown目录下。

放好之后就要进行指派。

单击“开始→运行”,在运行命令框中输入“gpedit.msc”,回车执行,打开“组策略”窗口。然后在组策略左侧的控制面板树窗格中,如图所示,依次展开“计算宽扮机配置→Windows设置→脚本察逗(启动/关机)”节点慎没灶,双击右侧详细资料窗格中的“启动”(或者“关机”)项目,在弹出的“启动属性”(“关机属性”)对话框中单击“添加”按钮,将你所写的批处理文件添加为新的计算机启动(关机)脚本。设置完成后,退出组策略窗口。以后启动(关闭)电脑时,相应命令会自动执行

开关机脚本除了支持.bat格式的批处理脚本文件以外,还支持.wsf、.vbs、.js格式的脚本文件。

linux怎么执行bat脚本的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux怎么执行bat脚本,Linux下如何运行BAT脚本,如何使windows下的bat文件调用linux下的shell脚本的方法,编写Linux脚本或者windows的bat文件的信息别忘了在本站进行查找喔。


数据运维技术 » Linux下如何运行BAT脚本 (linux怎么执行bat脚本)