Fragen speziell zu GNUs Bourne Again SHell im Gegensatz zu anderen Bourne / POSIX-Shells. Verwenden Sie bei Fragen zu Unix-Shells im Allgemeinen stattdessen das Tag / shell.
Wann verwenden wir set -kOption in Bash? Bash Referenzhandbuch sagt, Alle Argumente in Form von Zuweisungsanweisungen werden für einen Befehl in die Umgebung gestellt, nicht nur diejenigen, die vor dem Befehlsnamen stehen. Ich verstehe, was die Option tut, konnte mir aber nicht vorstellen, wann wir sie brauchen.
Ich möchte eine Vervollständigungsregel für eine durch Kommas getrennte Parameterliste erstellen. Ich habe zB einen Befehl, der eine Liste von Servernamen empfängt: myscript -s name1,name2,name3 In diesem Moment habe ich es geschafft folgendes zu schreiben: _myscript () { local cur prev opts _get_comp_words_by_ref cur prev opts='-s' servers='name1 name2 name3' if …
Ich möchte eine Funktion in Bash implementieren, die bei jedem Aufruf die Anzahl erhöht (und zurückgibt). Leider scheint dies nicht trivial zu sein, da ich die Funktion in einer Subshell aufrufe und folglich die Variablen der übergeordneten Shell nicht ändern kann. Hier ist mein Versuch: PS_COUNT=0 ps_count_inc() { let PS_COUNT=PS_COUNT+1 …
Ich möchte in einer Readline-Umgebung in den vi-Bearbeitungsmodus wechseln. Aber ich möchte 'set -o vi' nicht verwenden. Ich möchte vorübergehend über eine Tastenkombination wechseln. Die Manpage sagt, dass ich das machen kann M-C-j. Aber das funktioniert bei mir nicht. Ich benutze Ubuntu und ein xterm. Funktioniert auch nicht unter dem …
Wann sollten Sie >|die Ausgabe nicht nur in eine Datei umleiten >? Als mir dies gezeigt wurde, wurde erklärt, dass garantiert wurde, dass die Zieldatei zuerst abgeschnitten wurde. Aber ich dachte >schon, dass impliziert. Ist >|nützlich
Ich habe ein Skript, das eine Verbindung zu einem Remote-Server herstellt und prüfe, ob ein Paket installiert ist: ssh root@server 'bash -s' < myscript.sh myscript.sh: OUT=`rpm -qa | grep ntpdate` if [ "$OUT" != "" ] ; then echo "ntpdate already installed" else yum install $1 fi Dieses Beispiel könnte …
Ich versuche, ein Skript mit einer Liste von Dateinamen aufzurufen, die von gesammelt wurden find. Nichts Besonderes, nur so etwas: $ myscript `find . -name something.txt` Das Problem ist, dass einige der Pfadnamen Leerzeichen enthalten, sodass sie bei der Argumenterweiterung in zwei ungültige Namen aufgeteilt werden. Normalerweise würde ich die …
#!/bin/bash function back() { sleep $1 exit $2 } back $1 $2 & b=$! if `wait $!`;then echo success else echo failure fi bash-3.00# ./back 300 0 failure bash-3.00# ./back 300 1 failure Ich habe successals Exit-Status erwartet, als ich 0 gesendet habe, aber ich erhalte immer noch failure. Wartet …
Heute habe ich gemerkt, dass mein Bash-Verlauf vollständig gelöscht ist. Ich habe history -cdie .bash_historyDatei weder ausgeführt noch gelöscht . Abgesehen vom Löschen der .bash_historyDatei und history -cwie kann der Bash-Verlauf gelöscht werden?
Ich möchte ein Bash-Skript mit einer unbekannten Anzahl von Argumenten schreiben. Wie kann ich diese Argumente durchgehen und etwas damit anfangen? Ein falscher Versuch würde so aussehen: #!/bin/bash for i in $args; do echo $i done
Vor kurzem habe ich xset b offmeine .bashrc. Jetzt ärgere ich mich über den Fehler, der auftaucht, wenn ich mich über tty oder über ssh anmelde, also außerhalb der X-Sitzung. Das erste, was mir in den Sinn kam, war [[ -z "$SOME_VAR" ]] && xset b off(nun, es stellt sich …
Laut der Bash-Manpage: Der Umleitungsoperator [n]<&digit- Verschiebt den Dateideskriptor digitin den Dateideskriptor noder die Standardeingabe (Dateideskriptor 0), falls nnicht angegeben. digitwird nach dem Duplizieren auf geschlossen n. Was bedeutet es, einen Dateideskriptor in einen anderen zu "verschieben"? Was sind die typischen Situationen für eine solche Praxis?
In der Bash verwende ich oft for-Schleifen wie die folgenden for file in *.type; do sommecommand "$file"; done; um eine Operation für alle passenden Dateien durchzuführen *.type. Wenn in den Arbeitsverzeichnissen keine Datei mit dieser Endung gefunden wird, wird der Stern nicht erweitert und normalerweise erhalte ich eine Fehlermeldung, dass …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.