作者:mobiledu2502917177 | 来源:互联网 | 2023-10-12 16:53
linuxshell脚本批处理新建一个文件,名字为test(自己定义的名字)nanotest.sh在里面编写脚本 程序必须以下面的行开始(必须方在文件的第一行):
linux shell脚本 批处理
新建一个文件,名字为test(自己定义的名字)
nano test.sh
在里面编写脚本
程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中使用/bin/sh来执行程序。
(能写一些shell普通命令,命令用分号隔开)
例子:
#! /bin/bash
# shutdown pc
sudo
shutdown +1
执行方法
(1)在控制台输入命令执行:
sh
test.sh
(2)先给脚本可执行权限,双击执行:
右键此文件,选择属性-权限,最下方会有一个“允许以程序执行文件”,将这一项勾选,就可以了。
或在命令行下附予权限:
chmod 777
test.sh 或: chmod +x test.sh
linux中批处理文件顺序执行命令的输入
你可以在两条或者多条命令之间加上分号。比如,你想在/下创建一个文件夹,然后再给这个文件夹里面创建一个文件,在给这个文件一个777权限。就可以这么写:
mkdir
/test;touch
/test/1.txt;chmod
777
/test/1.txt
还有就是管道符。管道符是连接几个命令的。管道符左边的命令是输出,管道符右边的命令式对左边输出的一个输入(有的时候可以理解为一个条件)
比如,有一个文件有100行(假设是/a.txt),你只想查看第二十五行,就可以这么写:
head
-25
/a.txt
|
tail
-1
那么管道符的左边“head
-25
/a.txt"的意思是查看这个文件的前25行,
管道符的右边是查看倒数第一行,
那么这个命令连起来就可以理解为查看这个文件的前25行中的倒数第一行,也就是第二十五行。
Windows bat 调用Linux shell命令
众所周知,Linux下的与windows的cmd不是一个量级的东西。对于使用惯了Linux,MacOS的经常切换到cmd会抓狂。但是偶尔项目下又必须实现一些bat脚本。特别是在持续集成CI/CD部署时。
那么用windows bat调用gitbash,再调用Unix-like的命令的将是个很好的方法,至少能解决大部分需求。
安装 gitforwindows, (安装不表),虽然主要是实现git客户端,但是附带的bash很有用。
安装bash组件,并添加到系统参数(PATH),安装后,任意文件夹右键,会出现【Git Bash Here】打开后就默认进入类似Linux的终端。
使用bat调用sh脚本,
新建一个 test.bat 文件,写入以下内容:
这样就能实现
如何将大量的Linux安装命令使用批处理完成
就这几条命令还要脚本?你也恁地懒了些,linux shell已经可以按tab键匹配很多东西了,自己用vi建个文件,把你敲的命令全放进去,每行用;结尾,你可以用类似,history 20 filename 导出最后20条命令到一个文件,再其基础上添加;,";"的作用是检查上一条命令的退出状态,没有错误才执行下一条命令。
这个脚本有很大的局限性,你的文件存取路径必须每次都一样,下次放错了地方比如说没了mysql目录啊,mysql版本变了导致目录名改变啊,这个脚本就报错。