Lösung 1:
Der -
ist ein Parameter für -f
Option, was bedeutet, Eingaben von der Standardeingabe anstelle einer benannten Datei zu akzeptieren. Hunderte von UNIX/Linux-Befehlen haben solche Optionen.
Lösung 2:
Die -
Zeichen kann als Platzhalter verstanden werden für die Ausgabe des Befehls, der geleitet wird (mit |
Charakter). Indem wir es verwenden, weisen wir den nachfolgenden Befehl ( an den die Ausgabe weitergeleitet wird ) sehr genau an, wo die Standardausgabe des ersten Befehls ( sein Ausführungsergebnis ) platziert werden soll, mit anderen Worten wie sie genommen oder analysiert werden soll .
Anstatt also das Ergebnis von:
weiterzuleitenkubectl create secret generic test --from-file=appsettings.json --dry-run -oyaml
(was zufällig ein Yaml-Manifest ist)
direkt an:
kubectl apply -f
was mit solchen Eingaben nichts anzufangen weiß (da es eine Datei nach -f
erwartet Flagge), geben wir sehr genau an, wo es passt:
kubectl apply -f -
In diesem Fall weisen wir kubectl apply
an Befehl, dass die Piped-Ausgabe des vorherigen Befehls anstelle einer Datei genommen werden soll, was nach der Bereitstellung von -f
erwartet wird Flagge.