2016-03-26 13 views
1

Takma adlarımı bir Bitbucket repo dosyasında saklamak istiyorum, daha sonra bunları kullandığım ortama özgü bilgiler için yerel olarak ayrılmış bir dosyayı saklamak istiyorum.Linux'taki Dosya B içindeki Dosya A'nın içeriğine başvurabilir misiniz?

Böyle bir .bash_alias dinamik bir başka dosyanın içeriğini alabilirsiniz dosyayı CSS'deki PHP'de require_once() veya @import gibi biraz, bu nedenle bir şey inşa umuyorum:

mySystem içeriği:

myLocation='/path/to/stuff/specific/to/my/environment' 

.bash_alias içeriği:

@import mySystem 

backup() { 
    cp <filename> "$myLocation" 
} 

Bu mümkün mü?

+0

Evet, bu mümkün. Doğru fikre sahipsiniz, sadece sözdizimini ayarlamanız yeterli. 'MySystem'i indir 'kaynak mySystem' ile değiştirin. Aşağıda verilen [cevap] (https://stackoverflow.com/questions/36230079/can-you-reference-the-contents-of-file-a-within-file-b-in-linux/36230108#36230108) 'dir. doğru. Az önce senin orada olduğunu göstermenin daha güzel olacağını düşündüm. – alvits

cevap

1

bash bunu yapabilir. source komutunu kullanarak diğer dosyanın içeriğini "içe aktarabilirsiniz".

Diyelim ki my-env.sh bazı ortam yapılandırmasını var diyelim:

export PATH="$PATH:~/bin" 

alias ls="ls -l" 

yapabilirsiniz source aynı kabuk bağlamında tüm komutları çalıştırarak, .bash_aliases dahil başka komut dosyasından bu dosya,:

#!/bin/bash <-- This line is not required in the referencing file 
source my-env.sh 

You wget veya git clone dosyasını bilinen bir yoldan kullanabilir ve source. bash, my-env.sh'daki komutları aynı kabuk bağlamında yürütür.

+0

Teşekkürler, nereye gittiğine dair bir örnek verebilir misiniz? – Timmah

+0

Tabii, işte gidiyor – slezica

+0

Teşekkürler! Bunu kullanarak, '#./Bin/bash source my-env.sh' * 'ı * .bash_alias' dosyasının içine koyardım? – Timmah

İlgili konular