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 filename
Sie 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 .profile
oder .bash_profle
Datei, 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 program
Nachladen .profile
oder .bash_profle
:
$ . ~/.bash_profile
In jedem Verzeichnis geben Sie einfach Folgendes ein:
$ hello
My first program
bin
Ordner zu erstellen, in vielen Antworten hier gesehen. Gibt es ein Problem, wenn es .bin
stattdessen ist bin
? Ich bin sehr wählerisch was mein home
Aussehen angeht und ich möchte keinen zusätzlichen Ordner, nur weil.
zsh
Installation nicht in Ordnung ist, $PATH
aber es stellte sich heraus, dass das chmod -x hello
nicht 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 hello
tut 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 rm
fordert 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 rm
Sie auffordert, Ihre Anfrage zu bestätigen -i
. Daraufhin rm -i filePath
wird 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 -i
Option einzuschließen, und das ist der Punkt, an dem eine alias
sehr nützlich wird. Geben Sie den folgenden Befehl ein
echo "alias rm='\rm -i'" >> ~/.bash_aliases
wird Ihnen mitteilen, Bash
dass 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