Führen Sie eine ausführbare Datei auf dem Terminal aus


9

Ich bin neu in Ubuntu und derzeit aufgrund einer Zuweisung dabei. Ich möchte einige Fragen stellen:

  1. Wie mache ich einen neuen Befehl, um ein Shell-Skript auszuführen? Wenn Sie beispielsweise passwdauf dem Terminal eingeben, wird die ausführbare Datei auf ausgeführt /usr/bin/passwd. Wie mache ich es genauso wie meine Datei?

  2. Wie ändere ich mein Shell-Skript in eine ausführbare Datei wie die passwd?

Antworten:


13

Ihr Skript sollte folgendermaßen aussehen:

#!/bin/bash

passwd

Speichern Sie es in einer Datei, sagen wir password.sheinfach oder einfach password, und machen Sie es dann mit den nächsten Befehlen im Terminal ausführbar:

cd /path/to/password.sh  #or cd /path/to/password
chmod +x password.sh     #or chmod +x password

Verwenden Sie zum Ausführen des Terminals einfach den folgenden Befehl:

./password.sh            #or ./password

oder

/path/to/password.sh     #or /path/to/password

So führen Sie es nur aus:

password.sh              #or password

Sie müssen den Pfad des Skripts zum PFAD hinzufügen. Siehe So fügen Sie dem PATH ein Verzeichnis hinzu in diesem Sinne.


Ich möchte es ohne den Teil "./" ausführen. Ist es möglich?
Unbekannt

Es tut mir leid, ich habe ein anderes Kriterium vergessen, das ich auch ohne ".sh" ausführen möchte. Das heißt, ich möchte meine Datei nur mit dem Dateinamen auf dem Terminal ausführen. Zum Beispiel: passwd
Unbekannt

@ Gast Ok, speichere das Skript mit dem Namen password. Dies ist kein Problem.
Radu Rădeanu

Cool. Werde es bald ausprobieren. Vielen dank für Deine Hilfe.
Unbekannt

1
@geirha Wach auf! Eine Datei mit der .shErweiterung ist in erster Linie einem Skript zugeordnet, das an einer UNIX / LINUX-Eingabeaufforderung ausgeführt und beendet werden soll. Es ist kein Problem, wenn andere Dateitypen dieselbe Erweiterung haben oder wenn Sie für diesen Dateityp keine Erweiterung verwenden möchten.
Radu Rădeanu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.