我得到了我当前的脚本:
@echo off
c:
REM Forces to change to C drive
cd /
REM Forces to start at c:\ instead of a random folder
cd Users\%USERNAME%\Documents\
REM Selects the work folder
echo current directory = %cd%
REM Displays the work folder
set /p Folder= Please insert domain name?
REM Asks user for folder name to save in
if not exist %Folder% (
mkdir %Folder%
cd %Folder%
break>"CSR.txt"
break>"KEY.txt"
start notepad++ "CSR.txt"
start notepad++ "KEY.txt"
REM Makes the folder and requested files , also opens the files in notepad++
) else (
echo %Folder% already exists, creating date folder
cd %Folder%
mkdir %date:~-10,2%-%date:~-7,2%-%date:~-4,4%-%time:~0,2%_%time:~3,2%
cd %date:~-10,2%-%date:~-7,2%-%date:~-4,4%-%time:~0,2%_%time:~3,2%
break>"CSR.txt"
break>"KEY.txt"
start notepad++ "CSR.txt"
start notepad++ "KEY.txt"
REM If previous folder already exists make a date folder , also opens the files in notepad++
pause
)
(不要介意 REM 行,这是我的第一个脚本,因此必须为自己添加一些指针)
现在我想让这个脚本在我的(CentOS)服务器上运行,但我不知道如何让它工作。
有人能给我指出正确的方向/帮助我将其转换为 CentOS 脚本吗?
答案1
CentOS 是基于 Red Hat 的 Linux 发行版,因此无法直接执行 Windows 批处理脚本。您必须将其转换为上述发行版可执行的格式。例如,bash 脚本可能如下所示:
#!/bin/bash
cd ~/Documents
echo Current Directory = $(pwd)
read -p "Please insert domain name?" folder
if [ ! -d "$folder" ]; then
mkdir $folder
cd $folder
touch CSR.txt
touch KEY.txt
vi CSR.txt
vi KEY.txt
else
currentDate=$(date +%F)
mkdir $currentDate
cd $currentDate
touch CSR.txt
touch KEY.txt
vi CSR.txt
vi KEY.txt
fi
上述脚本将缩短currentDate
为 YYYY-MM-DD 格式的日期。
根据您的实际目标,建议您投入更多精力。您正在创建 CSR 和 KEY 文本文件,这暗示您想要做一些类似于设置 CA 的事情?这方面有很多需要考虑的地方,而且超出了您的问题范围,但您确实需要仔细阅读!
此外,我建议对您的初始帖子进行更改。您的编辑确实有些奇怪,而且您的缩进乱七八糟。在 stackexchange 上,通常支持在块前面添加空格/制表符来将其标记为代码。在这种情况下,这确实很有帮助。