Bir usb aygıtını bir openvz kabının içine monte etmeye çalışırken bu örneğe rastladım ve yapıyı daha önce ikinci satırda hiç görmedim. Ne anlama geldiğini açıklayabilir misin?
#!/bin/bash
. /etc/vz/vz.conf
Bir usb aygıtını bir openvz kabının içine monte etmeye çalışırken bu örneğe rastladım ve yapıyı daha önce ikinci satırda hiç görmedim. Ne anlama geldiğini açıklayabilir misin?
#!/bin/bash
. /etc/vz/vz.conf
Yanıtlar:
Yerleşik ile eşanlamlıdır source
. Bu olacak şimdiki kabuğunda bir dosyadan komutları çalıştırmak okunan, help source
ya help .
.
Senin durumunda, dosya /etc/vz/vz.conf
çalıştırılacak (büyük olasılıkla, sadece komut dosyasında daha sonra kullanılacak değişken atamalarını içeriyor). Dosyanın sadece /etc/vz/vz.conf
birçok yönden çalıştırılmasından farklıdır : En belirgin olanı dosyanın çalıştırılabilir olması gerekmemesidir; o zaman onu çalıştırmayı düşüneceksiniz bash /etc/vz/vz.conf
ama bu sadece bir çocuk işleminde yürütecek ve ebeveyn senaryo çocuğun yaptığı herhangi bir değişiklik görmeyecektir (örneğin değişkenlerin).
Ö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
$
Bu yardımcı olur umarım.
source
değil - C tarzı mermilerde ( , ) - ve de zsh. Bourne tarzı kabukları listelenen olanlar da dahil olmak üzere çalışır . Bash'in Bourne tarzı bir kabuk olduğu ve önemsiz olmayan karmaşıklığın bash betiğinin C-tarzı bir kabukta çalışması pek muhtemel olmadığı düşünülürse , bunun daha taşınabilir olduğu düşünülmelidir. Fakat bash'ın eşanlamlılığı kısmen taşınabilirlik için var. csh
tcsh
.
.
source
.
.
evrensel olarak portatif ve source
yaygın olduğunu, ancak düz bir şekilde çalışmadığını söylemek daha iyidir sh
.
Bir script `source 'kullanılarak çalıştırıldığında, mevcut kabuk içinde çalışır, script tarafından yaratılan veya değiştirilen değişkenler, script tamamlandıktan sonra kullanılabilir durumda kalır.
Sözdizimi dosya adı [argümanlar]
source filename [arguments]
.
Çoğu kabukta çalışacaktır (sh, kül, ksh, vb.),source
Bash için özeldir.