Solución 1:
El -
es un parámetro del -f
opción, lo que significa aceptar la entrada de la entrada estándar en lugar de un archivo con nombre. Cientos de comandos de UNIX/Linux tienen opciones como esta.
Solución 2:
El -
el carácter puede entenderse como un marcador de posición para la salida del comando que se canaliza (utilizando |
personaje ). Al usarlo, instruimos muy específicamente al siguiente comando (al que se canaliza la salida), dónde debe colocarse la salida estándar del primer comando (su resultado de ejecución), en otras palabras cómo debe tomarse o analizarse .
Entonces, en lugar de canalizar el resultado de:
kubectl create secret generic test --from-file=appsettings.json --dry-run -oyaml
(que resulta ser un manifiesto yaml)
directamente a:
kubectl apply -f
que no sabe qué hacer con dicha entrada (ya que espera un archivo después de -f
bandera), indicamos con mucha precisión dónde encaja:
kubectl apply -f -
En este caso, instruimos a kubectl apply
comando que se debe tomar la salida canalizada del comando anterior en lugar de un archivo, que se espera después de proporcionar -f
bandera.