İçinde dize olarak saklanan değeri olan tek satırlık bir dosyam var:
server-name-2009-August-9-AMI
Dosya adı server_name. Bu değeri bash betiğiyle bir değişkene okumanın en kısa ve en zarif yolu nedir?
İçinde dize olarak saklanan değeri olan tek satırlık bir dosyam var:
server-name-2009-August-9-AMI
Dosya adı server_name. Bu değeri bash betiğiyle bir değişkene okumanın en kısa ve en zarif yolu nedir?
Yanıtlar:
Kullanabilirsiniz read Komut. Herhangi bir değişken sağlamazsanız, satır otomatik olarak değişkene kaydedilir. REPLY Bash Bir singe değişkeni sağlarsanız, satır bu değişkene kaydedilir. Birden fazla değişken sağlarsanız, Bash, her bir değişkene bir kelime koymak için, satırı kelimeler olarak ayırır (bölme beyaz alanda yapılır). (Değişkenlerden daha fazla kelime varsa, her değişken bir kelime alır, ancak sonuncusu satırın kalanını alır.)
Örnek:
telemachus ~ $ read < buff
telemachus ~ $ echo $REPLY
#!/usr/bin/env perl
telemachus ~ $ read LINE < buff
telemachus ~ $ echo $LINE
#!/usr/bin/env perl
Değişkenin bir dolar işareti olmadan atandığını unutmayın ( REPLY veya LINE ), ama onu kullandığınızda, ihtiyacınız $REPLY veya $LINE.
Yani böyle bir şey istersiniz:
read SERVER < /path/to/server_name
İki komut dosyasının aynı dizinde olacağını varsaymak yerine okumak istediğiniz dosyanın tam yolunu kullanmanızı öneririm.
Bunun en şık çözüm olduğuna yemin etmeyeceğim.
$(< file)üzerinde$(cat file).