2016-04-05 27 views
0

Böyle komut satırı üzerinden örneklerini oluştururken:Google Compute Engine örneğindeki başlatma komut dosyası komut satırı bağımsız değişkenleriyle çalıştırılabilir mi?

gcloud compute instances create instance-name [--stuff otherstuff] --metadata-from-file startup-script=scriptname.sh 

o başlangıç ​​komut için komut satırı değişkenlerini belirtmek için herhangi bir yolu var mı? Birkaç örnek için neredeyse özdeş bir betik kullanıyoruz ve çok fazla çoğaltma gibi görünüyor.

+1

Belki de, değişken bağımsız değişkenlerini meta veri olarak saklayabilir ve başlangıç ​​komut dosyasının bunları örnek oluşturma zamanında meta veri sunucusundan almasını sağlayabilirsiniz. Veya örneği oluşturduğunuz anda, env değişkenlerinde saklanan argümanlarla özelleştirilmiş bir scriptname.sh dosyasında beslenen bazı perl/sed vb. – jarmod

+0

Belirli bir değeri meta verilerden geçirip başlangıç ​​komut dosyasında kullanmam gerektiğini söylüyorsunuz? Kullandığım kabuk komutu hem '--metadata' hem de '--metadata-from-file' argümanlarını aynı anda destekliyor mu? Bunun hakkında bir şey söylemediğini sanmıyorum, sanırım öyle olur. – snetch

+0

[--metadata KEY = VALUE, [KEY = VALUE, ...]] [--metadata dosyadan KEY = LOCAL_FILE_PATH, [KEY = LOCAL_FILE_PATH, ...]] – jarmod

cevap

1

Scriptlerin içlerinde argümanlar gibi komut kullanmasını sağlayan bir yol yoktur, örneğin $1 ve $2 ve bash gibi.

Diğer meta veri değişkenleri, ek bilgileri komut dosyasına benzer şekilde iletmek için kullanılabilir, ancak komut dosyasının özellikle bir Google Compute Engine başlatma komut dosyası olması için hazırlanmış olması gerekir ve her zaman bu özel değişkeni bununla birlikte.

İlgili konular