Поскольку в последнее время мне нужно использовать машину для стресс-тестирования перед тем, как уйти с работы, меня больше интересуют сценарии оболочки в это время.Очень удобно писать сценарии оболочки с помощью chatGPT.
Ниже приведены некоторые случаи
Например, мне нужно написать пакетный процесс: напишите пакетный процесс для создания 20 папок в текущей папке, и каждая папка содержит текстовый документ. Первое предложение текстового документа — слово привет. Сохраните следующий код как файл 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.
Выполните шаги, которые вы только что сделали, создайте новый текстовый файл, скопируйте его, сохраните, переименуйте и запустите.
Однако я обычно пишу скрипты с суффиксом .sh под Linux, различия между ними следующие:
.sh и .bat — это суффиксы файлов сценариев в разных операционных системах, и они имеют следующие отличия:
-
Суффикс .sh: .sh — это суффикс файлов сценариев оболочки, используемый в Unix-подобных системах (таких как Linux, Mac OS). Сценарий оболочки — это текстовый файл, содержащий ряд команд оболочки для выполнения команд и управления потоком. Обычно Bash или другие интерпретаторы оболочки используются для выполнения файлов сценариев .sh.
-
Суффикс .bat: .bat — это суффикс файла пакетного сценария, используемый в операционной системе Windows. Пакетный сценарий — это текстовый файл, содержащий ряд пакетных команд для выполнения команд и управления процессом. При запуске файла сценария .bat система будет вызывать интерпретатор cmd.exe для выполнения содержащихся в нем команд.
Ниже приведена таблица, в которой сравниваются суффиксы сценариев .sh и .bat, включая различия в их синтаксисе:
характеристика | .sh-скрипт | .bat-скрипт |
---|---|---|
суффикс | .ш | .летучая мышь |
Операционная система | Unix-подобная операционная система (например, Linux, Mac OS) | Операционная система Windows |
устный переводчик | Обычно используется Bash или другой интерпретатор оболочки | Используйте интерпретатор cmd.exe |
символ комментария | # | РЭМ |
объявление переменной | использовать variable=value формат |
использовать set variable=value формат |
ссылка на переменную | использование $variable или ${variable} метод |
%variable% Как использовать |
Условные операторы | Используйте структуру оператора if, elif, else | Используйте if, else, goto и другие конструкции операторов |
оператор цикла | Используйте for, while, until и другие структуры циклов | Используйте for, if, goto и другие циклические структуры |
ввод, вывод | Используйте команду echo для вывода содержимого и используйте команду чтения для чтения пользовательского ввода. | Используйте команду echo для вывода содержимого и используйте команду set /p для чтения пользовательского ввода. |
множество | Поддержка объявления массива и операции | Массивы не поддерживаются |
файловая операция | Используйте cp, mv, rm и другие команды для выполнения файловых операций. | Используйте команды копирования, перемещения, удаления и другие команды для выполнения операций с файлами. |
Конвейеры и перенаправление | Используйте символ трубы` | 和重定向符号 >、>>`等 |
определение функции | function_name() { ... } определить функцию с помощью |
Определите функции, используя :label иgoto label |
разрешение на выполнение скрипта | Вам нужно добавить разрешение на выполнение в файл скрипта | Никаких дополнительных разрешений на выполнение не требуется |
Подводя итог, .sh и .bat являются расширениями различных типов файлов сценариев, используемых в разных операционных системах. .sh используется для сценариев оболочки в системах Unix, а .bat — для пакетных сценариев в системах Windows.