Zum späteren Nachschlagen sollten Sie die Seite mit den Fakten lesen. Es erklärt die Dinge, die Sie in Ihre Fragen stellen sollten. (wie das Posten der Dinge, die Sie recherchiert und ausprobiert haben). Das ist wahrscheinlich der Grund, warum jemand diese Frage abgelehnt hat.
Spuder
Antworten:
68
Erstellen Sie ein Bash-Skript in Ihrem Ordner / usr / bin. Es sollte ungefähr so aussehen
#!/bin/bashWhatever 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!
Könnten Sie dies ändern, um eine schrittweise Anleitung zu erhalten, einschließlich aller erforderlichen Schritte? Ich bin immer noch unsicher, wie ich meinen eigenen benutzerdefinierten Befehl erstellen soll.
Yoda
5
@AndersMB, Sie müssen ein Buch lesen . Es gibt viele gute, sogar kostenlose. Beginnen Sie mit "The Linux Command Line" .
Wildcard
Ähm ... er scherzte. Er war ein Scherz, nicht wahr ?!
Somenath Sinha
1
Ausführen mit./filename
Squirrl
46
Erstellen Sie ein Verzeichnis mit der Bezeichnung "bin" in Ihrem Home-Verzeichnis.
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 program
Nachladen .profileoder .bash_profle:
$ . ~/.bash_profile
In jedem Verzeichnis geben Sie einfach Folgendes ein:
Ich weiß, dass dies sehr alt ist, aber ich habe Ihren Vorschlag, einen binOrdner 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.
MO
Ich habe es erfolglos versucht und war eine Weile sehr frustriert, weil ich dachte, dass etwas mit meiner 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?
ConstantFun
1
@ConstantFun Wird verwendet 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.)
Filip Happy
25
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.
Dies bleibt jedoch nicht über Sitzungen hinweg bestehen. Dieser Befehl funktioniert, ist aber nicht permanent. Eine dauerhaftere Möglichkeit wäre, die Datei ~ / .bash_aliases zu ändern und die dort vorgeschlagene Zeile hinzuzufügen.
Jeff Grimes
2
Funktioniert auch durch Hinzufügen zu Ihrer ~ / .bashrc-Datei
Delicia Brummitt
11
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
Antworten:
Erstellen Sie ein Bash-Skript in Ihrem Ordner / usr / bin. Es sollte ungefähr so aussehen
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!quelle
./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
.Nachladen
.profile
oder.bash_profle
:$ . ~/.bash_profile
In jedem Verzeichnis geben Sie einfach Folgendes ein:
quelle
bin
Ordner zu erstellen, in vielen Antworten hier gesehen. Gibt es ein Problem, wenn es.bin
stattdessen istbin
? Ich bin sehr wählerisch was meinhome
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 daschmod -x hello
nicht funktionierte und auch kein Kapital-X
. Stattdessen habe ich es versuchtchmod 755 hello
, obwohl ich mir der Sicherheitsrisiken in Bezug auf diesen Befehl nicht sicher bin, ließ er mich tatsächlich laufenhello
. 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.
Sie können einen beliebigen Befehl erstellen.
Hier finden Sie weitere Informationen:
http://www.mediacollege.com/linux/command/alias.html
quelle
Die meisten, wenn nicht sogar alle Linux-Distributionen haben ein kleines Skript in ~ / .bashrc , das fast identisch aussieht:
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, dasrm
Sie auffordert, Ihre Anfrage zu bestätigen-i
. Daraufhinrm -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 einealias
sehr nützlich wird. Geben Sie den folgenden Befehl einwird 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 genanntein praktischer Leitfaden zu Linux-Kommandos, Editoren und Shell-Programmierung , von Mark G. Sobell . ISBN: 978-0133085044
quelle