Komutta gcloud compute instances list
komutunu kullanıyorum, ancak kesin çıktı biçiminin statik olmadığından endişeleniyorum. Ne yapmalıyım?Bir komut dosyasında `gcloud` çıktısını kullanmak istiyorum ancak biçim değişiyor. Ne yapmalıyım?
cevap
gcloud
komutları için --format
bayrağını kullanmalısınız. Eğer biçiminde (bu cevabın yazma zaman itibariyle) güncel olarak tam aynı çıktı almak istiyorsanız
Örneğin, Çalıştırabileceğiniz:
$ gcloud compute instances list --format="table(
name,
zone.basename(),
machineType.basename(),
scheduling.preemptible.yesno(yes=true, no=''),
networkInterfaces[0].networkIP:label=INTERNAL_IP,
networkInterfaces[0].accessConfigs[0].natIP:label=EXTERNAL_IP,
status
)"
bu çıkışı Komutun varsayılan çıktısı olsa bile, komutlar arasında değişmeyecektir (biçimlendirilen kaynak değişmediği sürece bu nadirdir). Komutlardaki kaynakların varsayılan biçimini göstermek, devam eden bir işlemdir.
Ayrıca makine tarafından okunabilir çıkış için YAML veya JSON gibi bir format belirtebilirsiniz: Bu çıkış bu komut için varsayılan çıkış mevcut olandan çok daha fazla bilgi içerir
$ gcloud compute instances list --format=yaml
$ gcloud compute instances list --format=json
Not olduğunu; Bu, özel bir biçim oluştururken birlikte çalışmak zorunda olduğunuz bilgidir.
CSV, başka bir biçim seçeneğidir. table
gibi, her satırın nasıl yazdırılacağı konusunda bir projeksiyon gerektirir. 3
gcloud
biçimlendirme yeteneklerine daha fazla bilgi için
$ gcloud compute instances list --format="csv(name,zone,status)"
name,zone,status
example-instance,us-central1-f,RUNNING
...
, gcloud topic formats
ve gcloud topic projections
çıktısını bakın.
- Sen
gcloud compute instances list --format=flattened
çalıştırarak olası tüm alanları görebilirsiniz. gcloud beta test android locales list
gibi bazı komutlar için--verbosity=INFO
bayrağını geçirebilir veINFO: Display format
'u arayabilirsiniz. Bunun nedeni, CSV verilerinin JSON veya YAML gibi iç içe geçememesi ve yazdırılmakta olan veri yapılarının iç içe yerleştirilebilmesidir.