2013-02-18 6 views
5

Ich habe eine Datei namens "testfile" erstellt und es ausführbar mit chmod +x testfile gemacht. Um die Datei "testfile" auszuführen, muss ich den Befehl ./testfile ausführen.Ausführen Shell-Skript aus dem aktuellen Verzeichnis ohne '"./Dateiname"

ich wissen müssen, ist es eine Möglichkeit, das Programm ausführen konnte ./ ohne Verwendung und führen Sie die Datei mit testfile Befehl?

unten Dargestellt ist ein einfacher Code in der Datei "Testdatei"

echo Todays date is : 
date 
+0

' export PATH = /: $ PATH', aber das ist nicht gut.. –

+0

Bitte nennen Sie es nicht "test", da dieser Befehl bereits existiert. – dogbane

Antwort

4

Sie können es ausführen, ohne ./ durch Verwendung:

sh testfile 

Oder

bearbeiten
Wenn Sie das Programm direkt mit einem Befehl ausführen möchten, was Sie tun können, ist ein Alias ​​zu definieren:

alias execute_testfile="sh /path/to/file/testfile" 

Und dann werden Sie das Programm ausführen, wenn Sie schreiben Sie

execute_testfile 

oder welchen Namen auch immer Sie definieren.

Um diesen Alias ​​persistent zu machen, fügen Sie die Zeile alias ... in die Dateien ~/.profile oder ~/.bash_profile ein.

+0

Ja, aber ich brauche, um meine Datei ohne irgendwelche von denen auszuführen. Wie das Ausführen eines Befehls, der bereits in Linux ist. zB: top, ps, ls usw. –

+1

Ah, richtig, in diesem Fall kannst du einen Alias ​​definieren: 'alias execute_testfile =" sh/pfad/zu/datei/testdatei "'. Und wenn Sie 'execute_testfile' (oder den von Ihnen definierten Namen) schreiben, werden Sie das Programm ausführen. – fedorqui

+0

Es hat funktioniert, vielen Dank! –

2

Sie müssen . auf Ihre PATH Variable wie folgt hinzuzufügen:

> echo 'echo Hello, World!' > mycommand 
> mycommand 
-bash: mycommand: command not found 
> ./mycommand 
Hello, World! 
> PATH=".:$PATH"; 
> mycommand 
Hello, World! 
> 
+0

Danke für die Antwort, aber wo füge ich das hinzu - 'PATH =".: $ PATH ";' –

+0

In Ihrem ~/.bashrc –

+0

@frozenhaart Thin in der Shell-Eingabeaufforderung, bevor Sie Ihren Befehl ausführen. Der Antwort wurden weitere Details hinzugefügt. –

2

Sie können die PATH-Variable in der .profile-Datei definieren, die Sie in Ihrem Home-Verzeichnis finden.

vi ~/.profile 

bis zum Ende Ihrer .profile hinzufügen

/path/to/dir/:$PATH 

was übersetzt "/ path hinzufügen/to/dir/zu, was auch immer die PATH-Variable gesetzt ist"

Wenn Sie möchten, ein Verzeichnis der PATH für alle Benutzer des Systems hinzufügen, können Sie:

vi /etc/environment - edit, save your changes 
source /etc/environment 
echo $PATH - should now return your new PATH 

Arbeiten auf Ubuntu Server, ich würde vermuten, auf all Debian-Distributionen, bin ich nicht sicher, ob andere Distributionen/etc/environment oder wenn PATH wird woanders

Aliasing ist immer noch eine bessere Lösung

vi ~/.bashrc 

bis zum Ende der Datei hinzufügen angegeben

alias <your_script> ='/path/to/your_script.sh' 

Abmelden, melden Sie sich wieder in - Sie sollten nicht mehr haben geben ./.sh‘

+0

Danke für Ihre Hilfe! :) –

Verwandte Themen