2016-03-26 3 views
1

Ich möchte meine Aliase in einem Bitbucket Repo speichern und dann eine separate Datei lokal verwalten, um Informationen für die Umgebung zu erhalten, in der ich sie verwende.Können Sie den Inhalt von Datei A in Datei B in Linux referenzieren?

Ich hoffe auf eine .bash_alias-Datei zu erstellen, die dynamisch den Inhalt einer anderen Datei importieren können, ein bisschen wie require_once() in PHP oder @import in CSS, so etwas wie diese:

mySystem Inhalt:

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

.bash_alias Inhalt:

@import mySystem 

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

Ist das möglich?

+0

Ja, es ist möglich. Sie haben die richtige Idee, Sie müssen nur die Syntax anpassen. Ersetzen Sie '@import mySystem' durch' source mySystem'. Die [Antwort] (https://stackoverflow.com/questions/36230079/can-you-reference-the-contents-of-file-a-within-file-b-in-linux/36230108#36230108), die unten zur Verfügung gestellt wird richtig. Ich dachte nur, es wäre schöner zu sagen, dass du fast da bist. – alvits

Antwort

1

bash kann dies tun. Sie können den Inhalt der anderen Datei mit dem Befehl source "importieren".

Angenommen, Sie haben einige Umgebungskonfiguration in my-env.sh haben:

export PATH="$PATH:~/bin" 

alias ls="ls -l" 

Sie können source diese Datei von einem anderen Skript, einschließlich .bash_aliases, alle Befehle in der gleichen Shell Kontext ausführen:

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

Sie könnte wget oder git clone die Datei in einen bekannten Pfad und source es verwenden. bash führt die Befehle in my-env.sh innerhalb desselben Shellkontexts aus.

+0

Danke, können Sie ein Beispiel dafür liefern, was wohin geht? – Timmah

+0

Sicher, da geht es – slezica

+0

Danke! Also würde ich '#!/Bin/bash source my-env.sh' * in die' .bash_alias' Datei einfügen? – Timmah

Verwandte Themen