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.
Ich habe eine Variable, die mehrzeilige Ausgabe eines Befehls enthält. Was ist die effizienteste Methode, um die Ausgabe zeilenweise aus der Variablen zu lesen? Zum Beispiel: jobs="$(jobs)" if [ "$jobs" ]; then # read lines from $jobs fi
Ich muss regelmäßig einen Befehl ausführen, der sicherstellt, dass einige Textdateien im Linux-Modus gespeichert werden. Leider dos2unixändert sich die Datei immer, was die Zeitstempel von Dateien und Ordnern durcheinander bringt und unnötige Schreibvorgänge verursacht. Das Skript, das ich schreibe, ist in Bash, daher bevorzuge ich Antworten, die auf Bash basieren.
Ich habe das folgende Setup in .bashrc zum Ausmalen von Listings. export CLICOLOR = 1 exportiere LS_COLORS = 'no = 00: fi = 00: di = 00; 34: ln = 01; 36: pi = 40; 33: so = 01; 35: do = 01; 35: bd = 40; 33; 01: cd …
Betrachten Sie den folgenden (etwas albernen) Skriptnamen 'test1.sh': #/bin/bash # sleep 10 & echo sleep pid = $! pkill sleep Wenn ich es starte, erhalte ich nicht nur die Ausgabe des Echos, sondern auch die bash-Meldung über den Tod des Schlafes auf stderr: $ ./test1.sh sleep pid = 3551 ./test1.sh: …
Ich habe festgestellt, dass Bash eine Abkürzung für ctrl+ hat, Tdie die letzten beiden Zeichen vor dem Cursor vertauscht. Ich frage mich, warum sich die Ingenieure dazu entschlossen haben. Wurde es von einer früheren Konvention geerbt? Oder gibt es einen praktischen Zweck, für den dies häufig verwendet wird?
Mir ist aufgefallen, dass {bei der Klammererweiterung verwendet werden kann: echo {1..8} oder in Befehlsgruppierung: {ls;echo hi} Woher kennt bash den Unterschied?
Das habe ich erwartet: $ rm *(1)* würde alle Dateien entfernen, die (1)im Namen enthalten sind. Ich lag falsch. Es wurden alle Dateien im Verzeichnis entfernt. Warum?
Ich führe einen Ganzzahlvergleich in Bash durch (versuche herauszufinden, ob der Benutzer als Root ausgeführt wird) und habe zwei verschiedene Möglichkeiten gefunden, dies zu tun: Doppel gleich: if [ $UID == 0 ] then fi -eq if [ $UID -eq 0 ] then fi Ich verstehe, dass es in bash …
Ich möchte set -xam Anfang meines Skripts beginnen und es anschließend "rückgängig machen" (zum Status zurückkehren, bevor ich es festgelegt habe), anstatt es blind einzustellen +x. Ist das möglich? PS: Ich habe bereits überprüft hier ; Das schien meine Frage nicht zu beantworten, soweit ich es beurteilen konnte.
Ich versuche, die grepAusgabe an zu leiten rm, aber es gibt nutzloses Material aus. Ist ein Schalter erforderlich für rm? Oder kann rmdirekt ein regulärer Ausdruck bereitgestellt werden? ls | grep '^\[Daruchini'| rm rm: fehlender Operand Weitere Informationen finden Sie in `rm --help '.
Ist dies der richtige Weg, um eine Float-in-Integer-Konvertierung in Bash durchzuführen? Gibt es eine andere Methode? flotToint() { printf "%.0f\n" "$@" }
Also habe ich meinen Home-Ordner (oder genauer gesagt alle Dateien, auf die ich Schreibzugriff hatte) gelöscht. Was passiert ist, dass ich hatte build="build" ... rm -rf "${build}/"* ... <do other things with $build> in einem Bash-Skript und nachdem Sie $builddie Deklaration und alle ihre Verwendungen nicht mehr benötigt haben , …
Was ist eine schnelle Befehlszeilenmethode zum Wechseln zwischen mehreren Verzeichnissen für die Systemadministration? Ich meine, ich kann pushd .und popdzum Umschalten verwenden, aber was ist, wenn ich Mehrfachwerte speichern und durch sie blättern möchte, anstatt sie permanent vom Boden des Stapels zu werfen?
Ich finde, dass ich oft Folgendes mache: %> cd bla/bla %> ls Ich würde es begrüßen, wenn ich cdin ein Verzeichnis automatisch eine ls. Ich habe .bashrceine Weile mit meinem herumgespielt , konnte aber nicht herausfinden, wie ich das erreichen kann.
Ich habe dies gelegentlich mit einer Vielzahl von Anwendungen bemerkt. Ich habe oft gedacht, dass dies daran lag, dass die Ausgabe vorzeitig abgebrochen wurde (z. B. Strg + C), und zsh füllt ein neues Zeilenzeichen aus. Aber jetzt hat die Neugier das Beste aus mir herausgeholt, da es nicht so …
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.