Skip to content

Commit 43c8f1d

Browse files
authored
Merge pull request #259 from sebastian-xyz/main
add more german documentation
2 parents 0e6275d + b1f7283 commit 43c8f1d

8 files changed

+241
-5
lines changed

.vuepress/config.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ module.exports = {
179179
label: "Deutsch",
180180
editLinkText: "Diese Seite auf GitHub bearbeiten",
181181
nav: [
182-
{ text: "Book", link: "/de/book/" },
182+
{ text: "Buch", link: "/de/book/" },
183183
{ text: "Contributor Book", link: "/contributor-book/" },
184184
{ text: "Cookbook", link: "/cookbook/" },
185185
{ text: "Blog", link: "/blog/" },
@@ -194,8 +194,13 @@ module.exports = {
194194
"",
195195
"installation",
196196
"konfiguration",
197+
"3rdpartyprompts",
197198
"eigene_befehle",
198199
"aliase",
200+
"mathematik",
201+
"variablen_und_unterausdruecke",
202+
"escaping",
203+
"plugins",
199204
"von_bash_kommend",
200205
"command_reference",
201206
],

book/3rdpartyprompts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ nerdfonts are not required but they make the presentation much better.
1010

1111
## oh-my-posh
1212

13-
[site](ttps://ohmyposh.dev/)
13+
[site](https://ohmyposh.dev/)
1414

1515
[repo](https://github.com/JanDeDobbeleer/oh-my-posh)
1616

de/book/3rdpartyprompts.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Konfiguration von Drittanbieter-Prompts
2+
3+
## nerdfonts
4+
5+
nerdfonts sind nicht zwangsweise notwendig, machen aber die Darstellung viel besser.
6+
7+
[Webseite](https://www.nerdfonts.com)
8+
9+
[Repository](https://github.com/ryanoasis/nerd-fonts)
10+
11+
## oh-my-posh
12+
13+
[Webseite](https://ohmyposh.dev/)
14+
15+
[Repository](https://github.com/JanDeDobbeleer/oh-my-posh)
16+
17+
Wenn oh-my-posh verwendet werden soll, kann dies in wenigen Schritten für Nushell erreicht werden. Die Integration in Nushell funktioniert sehr gut. Die folgenden Schritte werden dazu benötigt:
18+
19+
1. oh-my-posh installieren und die Farbschemata herunterladen entsprechend dieser [Anleitung](https://ohmyposh.dev/docs/linux#installation)
20+
2. Herunterladen und installieren einer [nerd font](https://github.com/ryanoasis/nerd-fonts).
21+
3. PROMPT_COMMAND in `~/.config/nushell/config.nu` setzen und `M365Princess.omp.json` beliebig ändern entsprechend der [Demo](https://ohmyposh.dev/docs/themes).
22+
23+
```shell
24+
> let-env PROMPT_COMMAND = { oh-my-posh --config ~/.poshthemes/M365Princess.omp.json }
25+
```
26+
27+
## Starship
28+
29+
[Webseite](https://starship.rs/)
30+
31+
[Repository](https://github.com/starship/starship)
32+
33+
1. Den obigen Links folgen und starship installieren.
34+
2. nerdfonts entsprechend persönlicher Präferenzen installieren.
35+
3. Die `STARSHIP_SHELL` Umgebungsvariable auf `nu` setzen, indem der folgende Befehl ausgeführt wird: `let-env STARSHIP_SHELL = "nu"`
36+
4. Wenn die standardmäßige Uhr mit Zeit und Datum auf der rechten Seite dargestellt werden soll, sollte der folgende Befehl ausgeführt werden: `hide PROMPT_COMMAND_RIGHT`
37+
5. Wenn der standardmäßige Indikator verwendet werden soll, kann der folgende Befehl ausgeführt werden: `let-env PROMPT_INDICATOR = " "`
38+
6. starship kann als Prompt auf der linken Seite mit dem folgenden Befehl festgelegt werden: `let-env PROMPT_COMMAND = { starship prompt --cmd-duration $env.CMD_DURATION_MS --status $env.LAST_EXIT_CODE | str trim }`. Ein Hinweis: Unter Umständen muss `str trim` in der Nushell-Prompt nicht verwendet werden, wenn starship's standardmäßig aktive Einstellung für neue Zeilen in der `starship.toml` mittels `add_newline = false` deaktiviert wurde. Es gibt Berichte, dass dies teilweise nicht gut im Zusammenspiel mit Nushell-Prompts funktioniert. Wir arbeiten noch daran!
39+
7. Da Nushell Prompts auf der rechten Seite unterstützt, kann auch mit starship's Möglichkeit einer solchen Prompt experimentiert werden. Die rechte Prompt in Nushell zu setzen funktioniert identisch, wie das Setzen der Linken. Es muss lediglich `PROMPT_COMMAND_RIGHT` gesetzt werden.
40+
41+
## Purs
42+
43+
[Repository](https://github.com/xcambar/purs)

de/book/escaping.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Aufruf von Systembefehlen
2+
3+
Nushell stellt einen identischen Satz an Befehlen für verschiedene Systeme zur Verfügung, die überall dieselbe Syntax und Funktionalität haben. Manchmal ist es jedoch nötig, den gleichnamigen, vom System selbst bereitgestellten, Befehl aufzurufen. Um beispielsweise den `ls` oder `date` Befehl des Systems auszuführen, wird das Zirkumflex (`^`) dem Befehl vorangestellt:
4+
5+
Nushell Befehl:
6+
7+
```
8+
> ls
9+
```
10+
11+
Aufruf des Systembefehls:
12+
13+
```
14+
> ^ls
15+
```
16+

de/book/installation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ Damit Rust richtig funktioniert, muss eine kompatible Compiler-Suite auf dem Sys
3838

3939
* Linux: GCC oder Clang
4040
* macOS: Clang (Xcode installieren)
41-
* Windows: [Visual Studio Community Edition](https://visualstudio.microsoft.com/vs/community/)
42-
43-
Für Windows, wenn die Visual Studio Community Edition installiert wird, sollte sichergestellt werden, dass auch die "C++ build tools" installiert werden, da `link.exe` benötigt wird, das als Teil der optionalen Installationsoptionen angeboten wird. Damit ist das System bereit für den nächsten Schritt.
41+
* Windows: MSVC (installieren von [Visual Studio Community Edition](https://visualstudio.microsoft.com/vs/community/) oder der [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022))
42+
* Sicherstellen, dass "Desktop development with C++" installiert wird
43+
* Jede Visual Studio Edition sollte funktionieren (Community ist gratis)
4444

4545
### Rust installieren
4646

de/book/mathematik.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Mathematik
2+
3+
Manchmal müssen lediglich ein paar Zahlen addiert werden, um eine Aufgabe zu erledigen. Nushell bietet dazu einen Satz an grundlegenden mathematischen Funktionen an. Mathematische Ausdrücke sind überall dort verfügbar, wo ein Befehl aufgerufen werden kann.
4+
5+
## Addieren, Subtrahieren, Multiplizieren, Dividieren
6+
7+
```
8+
> 1 + 3
9+
4
10+
```
11+
12+
In Nushell, können die Operationen Addition, Subtraktion, Multiplikation und Division mit den dafür üblichen Symbolen `+`, `-`, `*` und `/` aufgerufen werden. Die Reihenfolge der Operatoren wird dabei berücksichtigt. Ein Beispiel: `1 + 2 * 3` wird behandelt als `1 + (2 * 3)`. Was zum nächsten Konzept führt: Klammern.
13+
14+
## Klammern
15+
16+
Klammern können verwendet werden, um mathematische Ausdrücke zu gruppieren. Das erlaubt es `(1 + 2) * 3` zu verwenden, um beispielsweise die Addition vor der Multiplikation auszuführen.
17+
18+
## `in` und `not-in`
19+
20+
Um herauszufinden, ob ein Wert in einem Datensatz ist oder nicht, können die Operatoren `in` und `not-in` verwendet werden.
21+
22+
```
23+
> 1 in [1 2 3]
24+
true
25+
```
26+
27+
```
28+
> 1 not-in [1 2 3]
29+
false
30+
```
31+
32+
## =~ und !~
33+
34+
Um zu überprüfen, ob ein String innerhalb eines anderen Strings zu finden ist oder nicht, können die Operatoren `=~` und `!~` verwendet werden.
35+
36+
```
37+
> "foobar" =~ "foo"
38+
true
39+
```
40+
41+
```
42+
> "foobar" !~ "baz"
43+
true
44+
```
45+
46+
## Vergleiche
47+
48+
Die folgenden Vergleichsoperatoren sind ebenfalls verfügbar:
49+
50+
* `<` - kleiner als
51+
* `<=` - kleiner gleich
52+
* `>` - größer als
53+
* `>=` - größer gleich
54+
* `==` - gleich
55+
* `!=` - ungleich
56+
57+
## Verknüpfungsoperatoren
58+
59+
Nushell unterstützt auch die Operatoren `&&` ("und") und `||` ("oder") um zwei Operationen die Bool-Werte zurückgeben zu verbinden. Zum Beispiel: `ls | where name in ["one" "two" "three"] && size > 10kb`
60+
61+
## Reihenfolge von Operationen
62+
63+
Mathematische Operationen werden in der folgenden Reihenfolge ausgewertet (von der höchsten Priorität zur niedrigsten Priorität):
64+
65+
* Klammern (`()`)
66+
* Multiplikation (`*`), Division (`/`) und Potenz (`**`)
67+
* Addition (`+`) und Subtraktion (`-`)
68+
69+
```
70+
> 3 * (1 + 2)
71+
9
72+
```

de/book/plugins.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Plugins
2+
3+
Die Funktionen von Nushell können mittels Plugins erweitert werden. Diese Plugins können einen Großteil der selben Operationen ausführen, wie die internen Befehle. Noch dazu haben Plugins den Vorteil, dass sie separat und flexibel zu Nushell hinzugefügt werden können.
4+
5+
Um ein Plugin hinzuzufügen, muss es erstellt werden und dann der Befehl `register` auf dieses Plugin aufgerufen werden. Wenn das getan wird, muss Nushell auch mitgeteilt werden, welches Protokoll vom Plugin verwendet wird.
6+
7+
Ein Beispiel:
8+
9+
```
10+
> register ./my_plugins/nu-plugin-inc -e capnp
11+
```
12+
13+
Wenn der Befehl registriert wurde, kann er als Teil der internen Befehle verwendet werden.
14+
15+
```
16+
> inc --help
17+
```
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Variablen und Unterausdrücke
2+
3+
Es gibt zwei Arten von auszuwertenden Ausdrücken in Nushell: Variablen und Unterausdrücke. Diese werden durch das Dollar Symbol (`$`) eingeleitet. Das gibt den Hinweis, dass Nushell an dieser Stelle einen Ausdruck auswerten muss, um einen Wert zu erhalten, der für die Ausführung eines gesamten Befehls benötigt wird. Beide Formen des Ausdrucks haben eine einfache Variante und eine 'Pfad'-Variante, wenn mit komplexeren Daten gearbeitet wird.
4+
5+
## Variablen
6+
7+
Die einfachere Variante der auszuwertenden Ausdrücke ist die Variable. Während der Auswertung, wird die Variable durch ihren Wert ersetzt.
8+
9+
Wenn eine Variable erzeugt wurde, kann der Inhalt dieser Variable ausgegeben werden, indem `$` vor dem Variablennamen verwendet wird:
10+
11+
```
12+
> let my-value = 4
13+
> echo $my-value
14+
4
15+
```
16+
17+
## Pfade von Variablen
18+
19+
Ein Pfad einer Variable funktioniert ähnlich wie ein strukturierter Datentyp. Es kann mittels Referenzen auf den Inhalt der Variable beziehungsweise die Spalten in der Variable zugegriffen werden, um final bei einem bestimmten Wert zu landen. Wenn beispielsweise anstatt der `4` im obigen Beispiel, der Variablen eine Tabelle zugewiesen wurde:
20+
21+
```
22+
> let my-value = [[name]; [testuser]]
23+
```
24+
25+
Hier kann ein Pfad der Variable `$my-value` verwendet werden, um den Wert der Spalte `name` in nur einem Schritt zu bekommen:
26+
27+
```
28+
> echo $my-value.name
29+
testuser
30+
```
31+
32+
## Unterausdrücke
33+
34+
Unterausdrücke können jederzeit ausgewertet und die Ergebnisse verwendet werden, indem der Ausdruck in Klammern `()` gepackt wird. Hinweis: In älteren Versionen von Nushell (älter als 0.32) wurde `$()` benutzt.
35+
36+
Die Klammern enthalten eine Pipeline, die bis zum Ende durchlaufen wird und deren Ergebnis dann verwendet wird. Hier einige Beispiele: `(ls)` würde den `ls` Befehl ausführen und die entsprechende Tabelle zurückgeben und `(git branch --show-current)` führt den externen Befehl `git` aus und gibt einen String mit dem Namen des aktuellen Branch zurück. Diese Klammern können auch verwendet werden, um mathematische Ausdrücke, wie `(2 + 3)`, auszuwerten.
37+
38+
Unterausdrücke können auch ganze Pipelines statt nur einzelner Befehle enthalten. Um eine Liste von Dateien mit einer Größe größer als 10 Kilobytes zu bekommen, kann die folgende Pipeline verwendet und einer Variable zugewiesen werden:
39+
40+
```
41+
> let names-of-big-files = (ls | where size > 10kb)
42+
> echo $names-of-big-files
43+
───┬────────────┬──────┬──────────┬──────────────
44+
# │ name │ type │ size │ modified
45+
───┼────────────┼──────┼──────────┼──────────────
46+
0 │ Cargo.lock │ File │ 155.3 KB │ 17 hours ago
47+
1 │ README.md │ File │ 15.9 KB │ 17 hours ago
48+
───┴────────────┴──────┴──────────┴──────────────
49+
```
50+
51+
## Unterausdrücke und Pfade
52+
53+
Unterausdrücke unterstützen auch Pfade. Um beispielsweise eine Liste der Dateinamen im aktuellen Ordner zu bekommen, kann diese Pipeline verwendet werden:
54+
55+
```
56+
> ls | get name
57+
```
58+
59+
Dasselbe Ergebnis kann auch in nur einem Schritt erreicht werden, indem ein Unterausdruck mit Pfad verwendet wird:
60+
61+
```
62+
> echo (ls).name
63+
```
64+
65+
Welcher Stil gewählt wird, hängt vom Anwendungsfall und den persönlichen Vorlieben ab.
66+
67+
## Short-hand Unterausdrücke
68+
69+
Nushell erlaubt den Zugriff auf Spalten in Tabellen in Unterausdrücken durch einfache Short-Hands. Wenn beispielsweise nur Zeilen in `ls` angezeigt werden sollen, in der die Größe der Datei größer als 10 Kilobytes ist, kann der folgende Befehl verwendet werden:
70+
71+
```
72+
> ls | where size > 10kb
73+
```
74+
75+
`where size > 10kb` ist ein Befehl mit zwei Teilen: Dem Befehlsnamen `where` und dem short-hand Ausdruck `size > 10kb`. Hier wird auch klar, warum das Ganze short-hand heißt: `size` ist hier die gekürzte Version von `$it.size`. Das Ganze könnte auch mit einer der folgenden ausführlicheren Varianten erreicht werden:
76+
77+
```
78+
> ls | where $it.size > 10kb
79+
> ls | where ($it.size > 10kb)
80+
> ls | where {|$it| $it.size > 10kb }
81+
```
82+
83+
Damit diese short-hand Syntax funktioniert, muss der Name der Spalte auf der linken Seite der Operation sein (wie bei `size` in `size > 10kb`).

0 commit comments

Comments
 (0)