Danke für die echt schnellen Antworten. Nach 2 Tagen Überlegung hatte ich dann doch endlich die Idee den Codeblock direkt im Termial mit nano zu schreiben, und siehe da: Es geht. Ich denke, dass mein Problem einfach war, dass Notepad++ (mein Windows-Editor) wahrscheinlich etwas falsch hinterlegt hatte. Auf jeden Fall funktioniert jetzt das, was ich erreichen wollte. Stellt sich doch die große Frage, was Notepad++ macht, was es nicht darf. Aber egal jetzt gehts auf jeden Fall.
Lösungsansatz war wirklich, den Käse direkt in der Shell zu programmieren.(Mit nano, oder vergleichbaren)
Wen's interessiert: Ich schreibe gerade ein Gameserverscript, in dem ich jetzt eine Auto-Aufsetzung programmieren will, also ich werde im Dialog alles abgefragt, und das Script baut mir ein Server. Ist ganz cool, doch irgendwie muss das Script nach einem Neustart wissen, wie jetzt noch gleich der aufgesetzte Server heißt. Das wollte ich mit dem Codebeispiel machen.
Trotzdem die Antworten auf eure Fragen/Anregungen:
@track:
1. Wie rufst Du das Skript auf ? - hast Du es "ausführbar" gemacht, und gibst dann ./meinskript ein, oder womöglich anders ?
Ich kann das Script sowohl mit ./script.sh, als auch mit ksh script.sh ausführen, da ich als Interpreter "#!/bin/ksh" angegeben habe. Übern chmod stehen die Berechtigungen auf 777.
2. Hast Du womöglich das Skript mit Win...-Zeilenenden geschrieben ? (mit welchem Editor ?) - dann erkennt die Shell nämlich praktisch keinen Befehl mehr.
Geschrieben wie gesagt mit Notepad++. Hatte nie Probleme mit. Das mit dem "erkennt [...] keinen Befehl mehr" kann ich nur etwas nachvollziehen, da die Zeilen in der Debug richtig waren.
@rklm
| temp="${variable:-"false"}"
|
Jo, das Problem ist dann nur, dass das Quoten vor false aufhört. Alles, was vielleicht geht, ist:
| # ENDWEDER:
temp="${variable:-'false'}"
# ODER:
temp="${variable:-false}"
|