Windows bat 调用Linux shell命令

简介: Windows使用Linux shell命令众所周知,Linux下的与windows的cmd不是一个量级的东西。对于使用惯了Linux,MacOS的经常切换到cmd会抓狂。

Windows使用Linux shell命令

众所周知,Linux下的与windows的cmd不是一个量级的东西。对于使用惯了Linux,MacOS的经常切换到cmd会抓狂。但是偶尔项目下又必须实现一些bat脚本。特别是在持续集成CI/CD部署时。
那么用windows bat调用gitbash,再调用Unix-like的命令的将是个很好的方法,至少能解决大部分需求。

img_0eac6bea751d62a6ca6d1c562448ecd2.png
gitbash.png

安装git-bash

安装 gitforwindows,https://gitforwindows.org (安装不表),虽然主要是实现git客户端,但是附带的bash很有用。

安装bash组件,并添加到系统参数(PATH),安装后,任意文件夹右键,会出现【Git Bash Here】打开后就默认进入类似Linux的终端。

bat 调用shell

使用bat调用sh脚本,

新建一个 test.bat 文件,写入以下内容:


echo "windows .bat call .shell script""
"C:\Program Files (x86)\Git\bin\sh.exe" --login -i -c "pwd"
"C:\Program Files (x86)\Git\bin\sh.exe" --login -i -c "cp a.txt b.txt"
"C:\Program Files (x86)\Git\bin\sh.exe" --login -i -c "./helloworld.sh"
"C:\Program Files (x86)\Git\bin\sh.exe" --login -i -c "curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxx' -H 'Content-Type: application/json' -d '{\"msgtype\": \"text\", \"text\": {\"content\":\"VIOM服务器58后端部署成功-\"}}'"

需要指定git-bash 安装目录
需要注意,部分windows字符,如双引号,单引号需要使用\ 进行转义。

这样就能实现

  1. 调用原生命令(在window下的bash只有部分Linux的系统命令)

  2. 调用常见的文件操作

  3. 调用本地shell脚本

  4. 调用curl外部命令等

目录
相关文章
|
28天前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
1天前
|
Ubuntu 安全 Linux
|
11天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
36 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
14天前
|
Shell 知识图谱
Shell printf 命令
10月更文挑战第3天
12 1
|
15天前
|
Shell Linux Windows
Does windows have a shell layer?
Does windows have a shell layer?
|
17天前
|
存储 Linux 编译器
cmake的单目录和多目录的使用(Linux和Windows)
本文介绍了在Windows和Linux平台上使用CMake构建单目录和多目录项目的步骤,包括如何配置CMakeLists.txt文件以及如何生成和使用可执行文件、库文件。
14 2
|
26天前
|
Unix Shell Linux
常见的shell命令
shell常用命令
27 11
|
28天前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
29天前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
21 5
|
1月前
|
Python Windows
python之windows脚本启动bat
python之windows脚本启动bat