Kann mich jemand anleiten, benutzerdefinierte Befehle in Unix / Linux zu erstellen.
Kann mich jemand anleiten, benutzerdefinierte Befehle in Unix / Linux zu erstellen.
Antworten:
Erstellen Sie ein Bash-Skript in Ihrem Ordner / usr / bin. Es sollte ungefähr so aussehen
#!/bin/bash
Whatever combination of commands you want to run when you type this thing.
Es ist wirklich so einfach.
Nennen chmod +x filenameSie das Bash-Skript einfach so, wie Sie es in das Terminal eingeben möchten, und machen Sie es ausführbar: und los geht's!
./filename
Aktualisieren Sie Ihre Pfadvariable, um dieses bin-Verzeichnis einzuschließen. Legen Sie dies in .profileoder .bash_profleDatei, um es dauerhaft zu machen.
export PATH=$PATH":$HOME/bin"
Erstellen Sie ein Skript, sagen Sie "Hallo" und bewahren Sie es in Ihrem bin-Verzeichnis auf. Erteilen Sie die Ausführungserlaubnis für das Hallo-Skript von $ chmod +x hello.
#!/bin/bash
echo My first programNachladen .profileoder .bash_profle:
$ . ~/.bash_profile
In jedem Verzeichnis geben Sie einfach Folgendes ein:
$ hello
My first programbinOrdner zu erstellen, in vielen Antworten hier gesehen. Gibt es ein Problem, wenn es .binstattdessen ist bin? Ich bin sehr wählerisch was mein homeAussehen angeht und ich möchte keinen zusätzlichen Ordner, nur weil.
zshInstallation nicht in Ordnung ist, $PATHaber es stellte sich heraus, dass das chmod -x hellonicht funktionierte und auch kein Kapital -X. Stattdessen habe ich es versucht chmod 755 hello, obwohl ich mir der Sicherheitsrisiken in Bezug auf diesen Befehl nicht sicher bin, ließ er mich tatsächlich laufen hello. Hat jemand eine Erklärung dafür? Ich gehe davon aus, dass es ein Problem in Bezug auf das Alter ist?
chmod +x hello, um dem Skript Ausführungsberechtigungen hinzuzufügen. chmod -x hellotut genau das Gegenteil - entfernt die "Run" -Privilegien. (Beachten Sie den Plus / Minus-Unterschied in der Antwort und in Ihrem Kommentar.)
Einfach einen Alias erstellen.
Angenommen, Sie möchten einen Befehl schreiben, um eine CD in Ihr Download-Verzeichnis zu kopieren. Und du willst es cdd nennen.
alias cdd='cd ~/Downloads'
Sie können einen beliebigen Befehl erstellen.
Hier finden Sie weitere Informationen:
http://www.mediacollege.com/linux/command/alias.html
Die meisten, wenn nicht sogar alle Linux-Distributionen haben ein kleines Skript in ~ / .bashrc , das fast identisch aussieht:
if [ -e ~/.bash_aliases ]
then
. ~/.bash_aliases
fi
Dies bedeutet lediglich, dass Sie Ihre eigenen Befehle erstellen können (auch als ' aliases' bezeichnet, der normalerweise auf einen vorhandenen Befehl mit einigen Argumenten verweist, die Sie immer verwenden müssen, oder eine Liste von Befehlen, die in der angegebenen Reihenfolge ausgeführt werden müssen).
In Ihrer Linux-Distribution wird die Datei .bash_aliases höchstwahrscheinlich nicht zu Hause erstellt, es sei denn, Sie haben dies bereits manuell getan. Geben Sie zum Erstellen der Datei den folgenden Befehl ein:
touch ~/.bash_aliases
Diese Datei wird nun automatisch ausgeführt, wenn Sie ein neues Terminal starten.
Sie können jetzt eine Liste von Aliasnamen erstellen und diese zur späteren Verwendung zu dieser Datei hinzufügen. Beispielsweise rmfordert Sie der Befehl (Entfernen) standardmäßig NICHT auf, Ihre Anforderung zu bestätigen, wenn Sie anweisen, eine Datei / ein Verzeichnis zu löschen. Es gibt jedoch ein Argument, das rmSie auffordert, Ihre Anfrage zu bestätigen -i. Daraufhin rm -i filePathwird eine Meldung angezeigt, in der Sie gefragt werden, ob Sie die angegebene Datei wirklich löschen möchten. Wenn Sie jetzt versehentlich eine Datei löschen, werden Sie sehr wahrscheinlich vergessen, die -iOption einzuschließen, und das ist der Punkt, an dem eine aliassehr nützlich wird. Geben Sie den folgenden Befehl ein
echo "alias rm='\rm -i'" >> ~/.bash_aliases
wird Ihnen mitteilen, Bashdass bei jeder Anforderung zum Löschen einer Datei eine Bestätigungsmeldung angezeigt wird. Natürlich können Sie noch viel mehr tun - das sind nur die Grundlagen.
Wenn Sie wollen lernen , wie einige grundlegende Befehle zu verwenden (dh cd, touch, rm, mkdir, pushd, popd, etc.) und / oder kompliziertere, würde ich ein sehr gutes Buch empfehlen Sie auf Ihrem Bücherregal als Referenz haben genannt
ein praktischer Leitfaden zu Linux-Kommandos, Editoren und Shell-Programmierung , von Mark G. Sobell . ISBN: 978-0133085044