Bir bash komut dosyasında bir nokta izleyen bir nokta ve sonra bir yol ne demektir?

71

Bir openvz kabının içine bir usb cihazı monte etmeye çalışırken bu örnekle karşılaştım ve daha önce ikinci satırdaki yapıyı hiç görmedim. Ne ifade ettiğini açıklayabilir misiniz?

#!/bin/bash
. /etc/vz/vz.conf
    
sordu Denis Connolly 26.12.2012 15:56

2 cevap

86

Yerleşik source ile eşanlamlı. Geçerli kabuktaki bir dosyadan komutları , help source veya help . 'den okunan olarak uygular.

Durumunuzda, /etc/vz/vz.conf dosyası çalıştırılacak (büyük olasılıkla, yalnızca komut dosyasında kullanılacak olan değişken atamaları içerir). Dosyayı, örneğin, /etc/vz/vz.conf ile birçok şekilde yürütmekten farklıdır: en belirgin olan, dosyanın yürütülebilir olması gerekmez; daha sonra bash /etc/vz/vz.conf ile çalıştırmayı düşünebilirsiniz, ancak bu işlem yalnızca bir alt işlemde yürütülür ve üst komut, çocuğun yaptığı tüm değişiklikleri (örneğin değişkenlerin) görmez.

Örnek:

$ # Create a file testfile that contains a variable assignment:
$ echo "a=hello" > testfile
$ # Check that the variable expands to nothing:
$ echo "$a"

$ # Good. Now execute the file testfile with bash
$ bash testfile
$ # Check that the variable a still expands to nothing:
$ echo "$a"

$ # Now _source_ the file testfile:
$ . testfile
$ # Now check the value of the variable a:
$ echo "$a"
hello
$

Bunun yardımcı olacağını umuyorum.

    
verilen cevap gniourf_gniourf 26.12.2012 16:01
4
  

'Kaynak' kullanılarak bir komut dosyası çalıştırıldığında, varolan kabukta çalışır, komut dosyası tarafından oluşturulduktan veya değiştirildikten sonra, herhangi bir değişken, komut tamamlandıktan sonra kullanılabilir kalır.

sözdizimi       . dosya adı [argümanlar]

  source filename [arguments]
    
verilen cevap Sureshkumar 24.04.2015 14:39

Etiketlerdeki diğer soruları oku