Befehl aus der Datei in der aktuellen Shell ausführen [duplizieren]

8

Ich möchte einen Befehl aus der Datei (das ist ein Skript) in der aktuellen Shell im Terminal ausführen.

Beispiel: Ich habe die Datei ch_dir enthält folgendes:

#!/bin/bash
cd /usr

Wenn ich die Datei normalerweise wie folgt ausführe, führt sie Befehle in anderer Shell aus:

[email protected]:~$ ./ch_dir
[email protected]:~$

Hier wird cd /user in einer anderen Shell ausgeführt.

Aber ich möchte in der aktuellen Shell ausführen. Wie mache ich das?

Hinweis: Hier wird cd nur zur Erklärung verwendet. Das Ziel von Question ist es, einen beliebigen Befehl in der aktuellen Shell auszuführen

    
Pandya 24.08.2014, 15:02

2 Antworten

14

Verwenden Sie den eingebauten Befehl source (aus help -m source ):

  

source - Führt Befehle aus einer Datei in der aktuellen Shell aus.

Beispiel für die Ausführung in Frage erwähnt:

[email protected]:~$ source ch_dir
[email protected]:/usr$ 

Hier können Sie sehen, dass cd /usr in der aktuellen Shell ausgeführt wird und daher das Verzeichnis der aktuellen Shell geändert wurde!

Ich hoffe, dies wird dazu beitragen, Befehlseingabe aus der Datei in der aktuellen Shell auszuführen.

    
Pandya 24.08.2014, 15:02
5

Führen Sie einfach das Skript mit einem . wie folgt aus:

[email protected]:~$ . ./ch_dir
    
mehdy 24.08.2014 19:05