如何用ChatGPT写Shell脚本

因为最近下班前都要拿机子搞压测,所以这段时间对shell脚本比较感兴趣,用chatGPT写shell脚本很方便。

如下是一些案列

比如我需要写一个批处理:写一个批处理在当前文件夹下建立20个文件夹每个文件夹里面有一个文本文档文本文档的第一句话是hello word
在这里插入图片描述将下面代码保存为create_folders.bat文件,在所需的文件夹中运行该批处理文件即可完成操作。

@echo off

setlocal enabledelayedexpansion

for /l %%i in (1,1,20) do (
    set folder=Folder_%%i
    mkdir !folder!
    echo hello world > !folder!\text.txt
)

echo 20 folders with text files have been created.

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
是不是非常方便~~

如果想把文件夹重命名,比如:写一个批处理将目录下所有文件夹重名为1.2.3.4等形式
在这里插入图片描述

@echo off

setlocal enabledelayedexpansion

set count=1

for /d %%i in (*) do (
    ren "%%i" "!count!"
    set /a count+=1
)

echo All folders have been renamed.

按照刚刚的步骤,再新建一个txt文档,copy进去,保存再重命名运行就好
在这里插入图片描述在这里插入图片描述

不过我一般都在linux下写.sh后缀的脚本,他们之间的区别如下:

.sh和.bat是不同操作系统中脚本文件的后缀名,它们有以下区别:

  1. .sh后缀:.sh是Shell脚本文件的后缀,在类Unix系统(如Linux、Mac OS)中使用。Shell脚本是一种文本文件,包含一系列用于执行命令和控制流程的Shell命令。通常使用Bash或其他Shell解释器来执行.sh脚本文件。

  2. .bat后缀:.bat是批处理脚本文件的后缀,在Windows操作系统中使用。批处理脚本是一种文本文件,包含一系列用于执行命令和控制流程的批处理命令。当运行.bat脚本文件时,系统会调用cmd.exe解释器来执行其中的命令。
    下面是一个对比.sh和.bat脚本后缀的表格,包括它们的语法差异:

特性 .sh脚本 .bat脚本
后缀名 .sh .bat
操作系统 Unix-like操作系统(如Linux、Mac OS) Windows操作系统
解释器 通常使用Bash或其他Shell解释器 使用cmd.exe解释器
注释符号 # REM
变量声明 使用variable=value格式 使用set variable=value格式
变量引用 使用$variable${variable}方式 使用%variable%方式
条件语句 使用if、elif、else语句结构 使用if、else、goto等语句结构
循环语句 使用for、while、until等循环结构 使用for、if、goto等循环结构
输入输出 使用echo命令输出内容,使用read命令读取用户输入 使用echo命令输出内容,使用set /p命令读取用户输入
数组 支持数组的声明和操作 不支持数组
文件操作 使用cp、mv、rm等命令进行文件操作 使用copy、move、del等命令进行文件操作
管道和重定向 使用管道符号` 和重定向符号>、>>`等
函数定义 使用function_name() { ... }方式定义函数 使用:labelgoto label方式定义函数
脚本执行权限 需要给脚本文件添加执行权限 不需要额外的执行权限

总结来说,.sh和.bat是不同操作系统中使用的不同类型脚本文件的后缀名。.sh用于Unix系统中的Shell脚本,而.bat用于Windows系统中的批处理脚本。

猜你喜欢

转载自blog.csdn.net/weixin_43233219/article/details/131562644