Windows Batch für CentOS konvertieren?


0

Ich habe mein aktuelles Skript erhalten:

@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  
)

(Kümmere dich nicht um die REM-Zeilen, dies ist mein erstes Skript, also musste ich einige Zeiger für mich selbst hinzufügen.)

Jetzt möchte ich, dass dieses Skript auf meinem (CentOS-) Server ausgeführt wird, aber ich habe keine Ahnung, wie dies funktioniert.

Kann mir jemand helfen, diese in CentOS-Skripte umzuwandeln?


Ihr Skript scheint ein Batch-Skript von Windows zu sein, CentOS ist Linux, sie sind nicht kompatibel. Warum haben Sie es als [notepad ++] markiert? Bitte bearbeiten Sie Ihre Frage und klären Sie sie.
Máté Juhász

@ MátéJuhász, danke, dass du geantwortet hast. Dazu habe ich notepad ++ hinzugefügt, da ich damit die Dateien geöffnet habe, die mein Skript erstellt hat.
The Mewwie

Antworten:


0

CentOS ist eine Linux-Distribution, die auf Red Hat basiert und daher kein Windows-Batch-Skript direkt ausführen kann. Sie müssen es in ein Format konvertieren, das von der Distribution ausgeführt werden kann. Ein Beispiel könnte ein Bash-Skript sein und so aussehen:

#!/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

Das obige Skript verkürzt das currentDate um nur das Datum im Format JJJJ-MM-TT anzugeben.

Abhängig von Ihrem eigentlichen Ziel ist es ratsam, viel mehr Arbeit in das Projekt zu stecken. Sie erstellen eine CSR- und KEY-Textdatei, die darauf hindeutet, dass Sie etwas tun möchten, um eine Zertifizierungsstelle einzurichten? Es gibt viel zu beachten und es würde nicht in den Rahmen Ihrer Frage fallen, aber Sie müssen wirklich darüber nachlesen!

Außerdem habe ich einen Änderungsvorschlag für Ihren ersten Beitrag gemacht. Sie haben ein paar wirklich abgefahrene Dinge mit Ihrer Bearbeitung gemacht und Ihre Einrückung war überall zu spüren. Beim Stack-Austausch wird normalerweise das Präfix eines Leerzeichens / Tabulators unterstützt, um einen Block als Code zu markieren. Was in diesem Fall wirklich helfen würde.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.