当前位置: 首页 > news >正文

windows linux 都可执行的脚本 bat, shell 共存

核心, 执行一行解析一行

windows:执行的地方进行解析, 可以任意跳转执行;

bash从上往下解析执行; 一行行解析发现语法错误;

差异: windows可以部分不解析; linux需要从上往下解析合法;

总结:linux, windows可以一上一下共存

# linux code# windows code 

关键: 脚本解析的差异和符号的差异

:windows是注释, bash是强制扩张变量, 或者重定向; 利用这个特性和解析特性,可以使得脚本共存。

代码

:; if [ ! "linux" ] ; then
@echo off
goto :windows_bat_code
exit /b 0
fifunction linux_bash_code
{echo this is linux, linux code program;
} && linux_bash_code && exit:windows_bat_code
setlocal
echo this is windows, windows code program;
endlocal && exit /b 0
  • windows平台, 第一行都是注释; 直接执行2, 3, 4;
  • linux平台;则第二行代码, 执行if, 一定false, 即内部代码不会执行解析; 继续下面执行linux代码;
:; if [ ! "linux" ]; then
echo windows;
exit
else
echo linux
exit
fi

参考

https://stackoverflow.com/questions/17510688/single-script-to-run-in-both-windows-batch-and-linux-bash

相关文章:

windows linux 都可执行的脚本 bat, shell 共存

核心, 执行一行解析一行 windows:执行的地方进行解析, 可以任意跳转执行; bash从上往下解析执行; 一行行解析发现语法错误; 差异: windows可以部分不解析; linux需要从上往下解析合法; 总结:linux, windows可以一上一下共存 # linux code# windows code 关键: 脚本解析的差…...

MATLAB图论合集(二)计算最小生成树

今天来介绍第二部分,图论中非常重要的知识点——最小生成树。作为数据结构的理论知识,Prim算法和克鲁斯卡尔算法的思想此处博主不详细介绍,建议在阅读本帖前熟练掌握。 对于无向带权图,在MATLAB中可以直接以邻接矩阵的方式创建出来…...

unity 模型显示在UI上 并交互(点击、旋转、缩放)

项目工程:unity模型显示在UI上并交互(点击、旋转、缩放)资源-CSDN文库 1.在Assets创建 Render Texture(下面会用到),根据需要设置Size 2.创建UIRawImage,并把Render Texture赋上 3.创建相机&am…...

html实现页面切换、顶部标签栏(可删、可切换,点击左侧超链接出现标签栏)

一、在一个页面&#xff08;不跨页面&#xff09; 效果&#xff1a; 代码 <!DOCTYPE html> <html><head><style>/* 设置标签页外层容器样式 */.tab-container {width: 100%;background-color: #f1f1f1;overflow: hidden;}/* 设置标签页选项卡的样式…...

n-皇后问题(DFS)

n−皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上&#xff0c;使得皇后不能相互攻击到&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n&#xff0c;请你输出所有的满足条件的棋子摆法。 输入格式 共一行&#xff0c;包含整数 n。 输出…...

漏洞利用和权限提升

使用Kali Linux进行漏洞利用和权限提升是渗透测试过程中的一部分&#xff0c;用于评估系统的安全性。 漏洞利用&#xff1a; 选择目标&#xff1a; 首先&#xff0c;确定 要进行漏洞利用的目标系统。这可能是一个具有已知漏洞的应用程序、服务或操作系统。 收集信息&#xff…...

开源网安受邀参加软件供应链安全沙龙,推动企业提升安全治理能力

​8月23日下午&#xff0c;合肥软件行业软件供应链安全沙龙在中安创谷科技园举办。此次沙龙由合肥软件产业公共服务中心联合中安创谷科技园公司共同主办&#xff0c;开源网安软件供应链安全专家王晓龙、尹杰受邀参会并带来软件供应链安全方面的精彩内容分享&#xff0c;共同探讨…...

回归分析扫盲:为什么非线性模型不能直接用最优子集选择法

最近有人给我发了篇文章&#xff1a; 一个问题有一堆变量&#xff0c;我们要选取哪些变量来建模呢&#xff1f;我们来看看这篇文章是怎么做的&#xff1a; 这个方法简单来说就是&#xff1a;对于这一堆变量&#xff0c;我们每次尝试剔除其中一个变量&#xff0c;然后用剩下的变…...

单例模式简介

概念&#xff1a; 单例模式&#xff08;Singleton Pattern&#xff09;是一种创建型设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供全局访问点。单例模式的核心思想是限制某个类只能创建一个对象实例&#xff0c;并提供对该实例的全局访问。这样可以避免多个…...

WPF自定义命令及属性改变处理

1、项目建构 2、自定义命令 namespace WpfDemo.Base {public class MyCommand : ICommand{Action executeAction;public MyCommand(Action action){executeAction action;}public event EventHandler? CanExecuteChanged;public bool CanExecute(object? parameter){retu…...

macbook m1 docker中使用go

已经有一个centos8的镜像&#xff0c;本来打算在centos8中安装go 安装方法&#xff1a; # 1.下载go的安装包 mkdir install && cd install # 任意创建个文件夹 wget https://go.dev/dl/go1.20.2.linux-amd64.tar.gz# 2. 解压 tar -C xzf go1.20.2.linux-amd64.tar.g…...

【Hello Network】DNS协议 NAT技术 代理服务器

本篇博客简介&#xff1a;介绍DNS协议 NAT技术和代理服务器 网络各协议补充 DNSDNS背景DNS介绍DNS总结域名简介 NAT技术NAT技术背景NAT IP转换过程NAPTNAT技术缺陷NAT和代理服务器 网络协议总结应用层传输层网络层数据链路层 DNS DNS是一整套从域名映射到IP的系统 DNS背景 为…...

Android 使用模拟器模拟Linux操作系统

1. 简介 在Android手机上使用模拟器模拟ubuntu等操作系统&#xff0c;便于测试 2. 软件准备 Termux&#xff1a;是一款 Android 终端模拟器和 Linux 环境应用程序&#xff0c;无需 root 或设置即可直接运行。虽然酷安和谷歌菜市场都能下载&#xff0c;但这些渠道都很久没更新…...

机器学习基础之《分类算法(5)—朴素贝叶斯算法原理》

一、朴素贝叶斯算法 1、什么是朴素贝叶斯分类方法 之前用KNN算法&#xff0c;分类完直接有个结果&#xff0c;但是朴素贝叶斯分完之后会出现一些概率值&#xff0c;比如&#xff1a; 这六个类别&#xff0c;它都有一定的可能性 再比如&#xff0c;对文章进行分类&#xff1a;…...

# Go学习-Day6

文章目录 Go学习-Day6封装继承接口 Go学习-Day6 个人博客&#xff1a;CSDN博客 封装 类似java的类的封装&#xff0c;这里我们利用大小写和工厂模式来实现封装的功能略过 继承 相似的类具有相似的方法&#xff0c;反复绑定相同的方法&#xff0c;代码冗余&#xff0c;所以引…...

分布式 - 服务器Nginx:一小时入门系列之 HTTPS协议配置

文章目录 1. HTTPS 协议2. 生成 SSL 证书和私钥文件3. 配置 SSL 证书和私钥文件4. HTTPS 协议优化 1. HTTPS 协议 HTTPS 是一种通过计算机网络进行安全通信的协议。它是HTTP的安全版本&#xff0c;通过使用 SSL 或 TLS 协议来加密和保护数据传输。HTTPS的主要目的是确保在客户…...

探秘Linux系统性能监控神器!Linux和Python技术持续学习者必看!

引言 作为Linux运维工程师&#xff0c;我们经常需要对服务器的性能进行监控和调优。而Python作为一门强大的脚本语言&#xff0c;可以帮助我们轻松实现各种系统性能监控任务。本文将介绍几个实用的Python库和工具&#xff0c;帮助我们监控Linux系统的CPU、内存、磁盘和网络等性…...

文心一言续写太监小说《名侦探世界的巫师》

《名侦探世界的巫师》是我的童年回忆&#xff0c;总是想着续写一下&#xff0c;但是又没有时间和文笔&#xff0c;文心一言出了&#xff0c;由于目前大模型貌似可以联网&#xff0c;可以尝试搞一波~ 目录 文章1【前六个故事还能看&#xff0c;后面就是在重复】故事2【辣眼睛】…...

Solidity 合约安全,常见漏洞(第三篇)

Solidity 合约安全&#xff0c;常见漏洞&#xff08;第三篇&#xff09; ERC20 代币问题 如果你只处理受信任的 ERC20 代币&#xff0c;这些问题大多不适用。然而&#xff0c;当与任意的或部分不受信任的 ERC20 代币交互时&#xff0c;就有一些需要注意的地方。 ERC20&#…...

Linux安装Redis数据库,无需公网IP实现远程连接

文章目录 1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 保留一个固定tcp地址4.2 配置固定TCP地址4.3 使用固定的tcp地址连接 Redis作为一款高速缓存的key value键值对的数据库,在…...

开发小记-开发中的小随笔

1. josn字符串转换 JSON.stringify(data) 直接这样转&#xff0c;会是一整行的字符串。 JSON.stringify(data, null, 2); 这样转就会转成格式化的换行的标准json字符串&#xff0c;方便展示diff 2. 毫秒时间戳转换 需要将字符串‘2025-04-01’转换为整型时间戳&#xff0c;…...

知网维普万方 AIGC 算法差异详解!TOP5 降 AI 软件帮你 3 个平台一次合格

知网维普万方 AIGC 算法差异详解&#xff01;TOP5 降 AI 软件帮你 3 个平台一次合格 很多同学不知道——同一篇论文送知网、维普、万方测出来的 AI 率可能差 20-30 个点。3 个检测平台的算法逻辑完全不一样。 这篇文章把 3 个平台的算法差异拆给你看 TOP5 工具对位推荐——TOP…...

保姆级教程:用Mermaid手绘CPU流水线时空图,理解数据冒险与阻塞

可视化解析CPU流水线&#xff1a;用代码绘制时空图理解数据冒险 在计算机体系结构的学习中&#xff0c;CPU流水线技术是提升处理器性能的核心机制之一。但对于初学者而言&#xff0c;理解流水线中的数据冒险&#xff08;Data Hazard&#xff09;及其导致的阻塞现象往往充满挑战…...

从汽车到无人机:STM32F4的CAN总线实战,手把手教你搭建双节点通信(附代码)

STM32F4 CAN总线工业级应用实战&#xff1a;从无人机飞控到机器人通信 1. CAN总线技术在现代嵌入式系统中的核心价值 CAN总线&#xff08;Controller Area Network&#xff09;自1986年由博世公司开发以来&#xff0c;已成为工业控制领域的黄金标准。这项最初为汽车电子设计的通…...

5大核心功能揭秘:MoneyPrinterPlus如何实现AI短视频自动化批量生产

5大核心功能揭秘&#xff1a;MoneyPrinterPlus如何实现AI短视频自动化批量生产 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,G…...

别再死记硬背了!用这个商品库存表案例,5分钟搞懂HTML表格的rowspan属性

别再死记硬背了&#xff01;用商品库存表案例5分钟掌握HTML表格的rowspan属性 每次看到HTML表格代码里那些rowspan和colspan属性就头疼&#xff1f;别担心&#xff0c;今天我们不谈枯燥的语法定义&#xff0c;而是通过一个真实的商品库存管理案例&#xff0c;带你理解rowspan的…...

别再傻傻分不清了!给硬件工程师的SI、PI、EMI关系速查手册(附高频PCB设计实例)

硬件工程师实战指南&#xff1a;SI、PI、EMI的三角关系与高频PCB设计避坑 当你第一次面对DDR4布线导致的EMI测试失败时&#xff0c;可能会陷入这样的困惑&#xff1a;明明是信号完整性问题&#xff0c;为什么整改方案却是调整电源层的去耦电容&#xff1f;这种看似跨领域的因果…...

Excel VBA编程实例(150例):助你轻松掌握办公自动化利器

Excel VBA编程实例(150例)&#xff1a;助你轻松掌握办公自动化利器 【下载地址】ExcelVBA编程实例150例资源下载 本仓库提供了一个名为“Excel VBA编程实例(150例)”的资源文件下载。该资源文件包含了150个Excel VBA编程实例&#xff0c;旨在帮助用户通过实际案例学习和掌握Exc…...

别再只盯着USB3.0速度了!深入链路训练状态机(LTSSM),搞懂设备插上后到底经历了什么

USB3.0链路训练状态机&#xff1a;从插入到识别的技术全景解析 当我们将一个USB3.0设备插入电脑时&#xff0c;那个短暂的"识别"过程背后&#xff0c;隐藏着一套精密的数字握手协议。这个看似简单的动作&#xff0c;实际上触发了物理层到协议层的多阶段协同工作&…...

财务RPA只能自动执行吗?它还能结合大模型,进化成财务分析助手

提到财务RPA&#xff0c;多数人对它的认知还停留在“自动化工具”层面&#xff0c;能724小时不间断处理发票录入、凭证生成、银行对账等重复性财务工作&#xff0c;替代人工完成机械操作&#xff0c;实现“降本增效”。但事实上&#xff0c;随着大模型技术与财务场景的深度融合…...