2011-02-17 16 views
6

Hey çocuklar Linux yeniyim yürütmek için bir nokta kullanın. o profili yürütmek için bir nokta kullanın Neden Aşağıdaki komutta, neden Profil sahibi

?

. ~/.profile 

cevap

11

Noufal belirtildiği gibi, .source için bir takma ad.

Dosyayı sunarak, tüm komutlar geçerli bash oturumunuz kapsamında yürütülür; bu, dışa aktardığı tüm ortam değişkenlerinin artık sizin kullanımınıza sunulacağı anlamına gelir.

Kaynaktan yerine bu komut dosyasını çalıştırın, bu bir kabuktaki yürütülür ve ihraç edilmektedir değişkenlerin oturuma geçer değil. Aslında, bu oldukça fazla .profile amacını yendi.

#!/bin/bash 
# in test.sh 
print "exporting HELLO" 
export HELLO="my name is Paul" 

bunu gerçekleştirmenin ise: bir gösteri olarak

, dosyayı test.sh söylüyorlar

[[email protected]]$ bash test.sh 
exporting HELLO 
[[email protected]]$ echo $HELLO 

Hiçbir şey geçerli oturumda tanımlanmadığı $HELLO beri yazdırılır alır. Ancak, bunu kaynak ise:

[[email protected]]$ . test.sh 
exporting HELLO 
[[email protected]]$ echo $HELLO 
my name is Paul 

Ardından $HELLO geçerli oturumda sunulacak.

+0

Harika bir örnek, Ama bu komutta: cp /usr/local/1.txt. yok nokta hala kaynağı temsil ediyor? veya bu bağlamda başka bir anlamı vardır – mko

+0

Bu bağlamda, nokta 'geçerli dizin' anlamına gelir. Nokta, yalnızca komut olarak kullanıldığında kaynağın takma adıdır. Genel olarak –

+0

, nokta bağlama bağlı olarak 3 ayrı anlamlara sahiptir. Http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/special-chars.html –

4

Dönem operatörü, source komutu için bir diğer addır. Ayrıntılar here.

+1

bağlantı diyor ki: >> ... kaynak nokta/dönem eşanlamlıdır. '' bash, ama POSIX sh değil, bu yüzden maksimum uyumluluk için periyodu kullanın. ... << Bu bilgiyi faydalı buldum – eli

1
daha bağlam olmadan söyleme, ama bir kullanım (bildiğim kadarıyla Bourne kabukları gitmek gibi) .profile dosya Bash ilk bulduğunda beri daha genel içerecek şekilde Bash özgü dosya .bash_profile olduğunu epeyce zor

, yüklenmeyecektir ikinci tek başına.