# exec

> Der Befehl stackql exec führt eine StackQL-Anweisung oder ein Skript aus Anweisungen aus, mit Flags für Ausgabeformat, Authentifizierung und die Provider-Registry.

Source: https://stackql.io/de/command-line-usage/exec

Befehl zum Ausführen einer StackQL-Abfrage, entweder als einzelne Anweisung oder als Stapel von Anweisungen aus einem StackQL-Skript (IQL-Datei).  

* * * 

### Syntax

`stackql exec [query] [flags]`

* * *

### Argumente

| Argument | Beschreibung | Beispiel |
|--|--|--|
|`query`|Auszuführende StackQL-Abfrage oder auszuführender Befehl | `"SELECT * FROM google.compute.instances` `WHERE project = 'myproject' AND zone = 'us-east1-a'"` _Beachten Sie, dass die Abfrage in einfache oder doppelte Anführungszeichen eingeschlossen sein muss_ |    

### Flags

| Flag | Beschreibung |
|--|--|
|`-o` `--output`|Ausgabemodus, gültige Werte sind: `table` (Standard), `json`, `jsonl` (zeilengetrenntes JSON, `ndjson` wird als Alias akzeptiert), `csv`, `text` und `otel` (OpenTelemetry-Log-Records, siehe [Ausgabemodi](/getting-started/output-modes#otel-output)), Beispiel: `--output jsonl` |
|`-i` `--infile`|Führt die Abfrage bei Bedarf aus der angegebenen Datei aus; ist das Flag gesetzt, wird eine als Argument übergebene Abfrage ignoriert, Beispiel: `--infile myquery.iql` |
|`-q` `--iqldata`|Quelldaten für den Befehl aus einer `json`- oder `jsonnet`-Datei, Beispiel: `--iqldata vars.jsonnet`|
|`--dryrun`|Dry-Run-Flag; nur der Präprozessor wird ausgeführt und die Ausgabe wird zurückgegeben |
|`--var`|Externe Variablen (können Umgebungsvariablen oder Secrets sein), die von den mit dem Flag `--iqldata` angegebenen jsonnet-Dateien eingelesen werden, Beispiel `--var region=${AWS_REGION}`|
|`-f` `--outfile`|Datei, in die die Ergebnisse bei Bedarf geschrieben werden (standardmäßig werden die Ergebnisse nur auf der Konsole ausgegeben), Beispiel `--outfile myoutput.csv`|
|`-H` `--help`|Hilfeinformationen ausgeben|
|`-v` `--verbose`|Führt Abfragen im ausführlichen Modus mit zusätzlicher Ausgabe auf stdout aus; ist die Option `-f` gewählt, werden diese zusätzlichen Protokollinformationen zusammen mit den Abfrageergebnissen in die Ausgabedatei geschrieben|

> weitere Optionen finden Sie unter [Globale Flags](/command-line-usage/global-flags)

* * *

### Beispiele

Abfrageergebnisse im Tabellenformat auf der Konsole ausgeben:
```shell
stackql exec "SHOW services IN google"
```

Abfrageergebnisse im json-Format auf der Konsole ausgeben:
```shell
stackql exec "SHOW services IN google" -o json
```

Abfrageergebnisse im json-Format in eine Datei ausgeben:
```shell
stackql exec "SHOW services IN google" -o json -f services.json
```

Abfrage aus einer Eingabedatei (IQL-Datei) ausführen und die Ergebnisse im json-Format in eine Datei ausgeben:
```shell
stackql exec -i getservices.iql -o json -f services.json
```

* * *

### Exit-Status

`exec` beendet sich mit Status `0`, sobald die Eingabe verarbeitet wurde; Fehler einzelner Anweisungen werden auf die Konsole geschrieben, Skripte sollten daher die Ausgabe prüfen.  Ab `v1.0` beendet es sich mit Status `1`, wenn eine [`SET`](/language-spec/set)- oder [`UNSET`](/language-spec/unset)-Konfigurationsanweisung fehlschlägt, wenn die [Zugriffsverwaltung](/command-line-usage/access-management) aktiviert ist und eine Anweisung verweigert wird, oder wenn ein Preview-IaC-Lauf eine fehlgeschlagene Ressource meldet.
