This repository has been archived by the owner on Sep 20, 2023. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Status
Dieser PR ist zur Zeit stillgelegt. In einer zukünftigen Version wird der scripting support wahrscheinlich hinzugefügt.
Hintergrund
Cryptic soll ein Spiel sein, in dem einerseits die Grundlagen, andererseits auch (teilweise) realistische erweiterte Kenntnisse erworben werden können.
Da eine Shell/ das Terminal normalerweise sehr viele Möglichkeiten bietet und in manchen Fällen auch vor grafischen Oberflächen bevorzugt wird, ist es sinnvoll, eine realitätsnahe Shell zur Verfügung zu stellen, damit erlernte Fähigkeiten auf die Wirklichkeit übertragen werden können.
Die derzeitige Implementation hat nur einige Nachteile, die effektives Scripting verhindern. Diese Nachteile sollen abgebaut werden, sodass die Shell mehr Möglichkeiten bietet.
Orientierung
Die Veränderungen sind an der POSIX shell und der derzeitigen Implementation orientiert.
Änderungen
Zur Zeit sind folgenden Änderungen gemacht worden:
;
oder eine neuen Zeile getrennt seinset
(siehe unten) gesetzt werden und werden im Folgenden ersetzt:$variable
wird zuvariableWert
(wenn der Wert vonvariable
variableWert
ist)$#
: Anzahl der Argumente$0
: Programmname$1
bis$9
: Argumente 1 bis maximal 9$*
oder$@
: Alle Argumente, getrennt mit$?
: Exit-Code des vorigen Programmesrun
hinzugefügt; führt eine Datei zeilenweise ausset
hinzugefügt: setzt eine Variableread
hinzugefügt: liest input in eine Variable einecho
hinzugefügt: gibt Text aus|
getrennt werden, dann wird der Stdout des vorigen Commands nicht ausgegeben, sondern zum Stdin des folgenden Commandsecho 1 | read a
. Echo gibt 1 aus, das wird der Stdin für read, das dann in die Variable a eingelesen wirdWIP
geplante Änderungen/ TODO
\t
(kann für Formatierungen benutzt werden)