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.
Vor einigen Wochen habe ich eine seltsame Antwort auf die Frage " (Wie) starte Aufgabe (n) stillschweigend im Hintergrund? " Gesehen . Diese Lösung scheint falsch zu sein ( siehe meine Antwort ), obwohl die Shell die Aufgabe im Hintergrund still zu starten scheint. I. Problem: Können wir den Shell-Standardfehler …
In Bash wird echo {{a,b}.{c,d}} erweitert auf {a.c} {a.d} {b.c} {b.d} Obwohl im Bash-Handbuch für die Art der Eingabe, die ich vorgenommen habe, nichts für die Klammererweiterung erwähnt wird Meine Frage ist, warum die Ausgabe nicht wie diese ac ad bc bd ist
Ich kämpfe mit dieser Situation: $ set -- 1 2 3 $ a="$@" $ echo "$a" 1 2 3 Was ich unerwartet finde, ist die Aufgabe selbst. man bashsagt dies über die "$@"Erweiterung: Wenn die Erweiterung in doppelten Anführungszeichen erfolgt, wird jeder Parameter zu einem separaten Wort erweitert. Das sollte …
Ist es gleichbedeutend damit, dass Befehle direkt in eine Datei gedruckt werden, anstatt in einen Dateideskriptor zu schreiben? Illustration Direkt in die Datei schreiben: for i in {1..1000}; do >>x echo "$i"; done Verwenden eines fd: exec 3>&1 1>x for i in {1..1000}; do echo "$i"; done exec 1>&3 3>&- …
Die folgende Sequenz gibt mir den Rückgabewert des ersten Befehls, nicht des zweiten, wie ich erwartet hätte (unabhängig davon, ob ich den ersten Befehl in einer Subshell ausführe): sudo systemctl start x; sudo systemctl is-active --quiet x; echo $?; (sudo systemctl start x); sudo systemctl is-active --quiet x; echo $?; …
Im Moment habe ich die nächsten Wege langs="EN GE" dir_EN=/xx dir_GE=/zz Wie Sie sehen können, hat die Variable $ langs alle möglichen Sprachen in einem einzigen Array. Ich möchte alle diese Pfade in einem mehrsprachigen (dir_ML) Array mit einer Schleife speichern, die die Sprachen überprüft, und dann den entsprechenden Pfad …
Ich bin heute auf ein seltsames Verhalten gestoßen: #!/bin/bash set -ex export a=$(cat foo) echo "It's a living thing" b=$(cat foo) echo "This won't make it" Dies hört nicht auf cat foo, obwohl fooes nicht existiert. Aber ohne den Export schlägt es fehl. Warum?
Gibt es eine Möglichkeit, grepzweimal in der Datei zu vermeiden und die Variablen nur in einem Durchgang zu füllen? Die Datei ist klein, es ist also keine große Sache, dass ich mich nur gefragt habe, ob ich es in einem Durchgang schaffen könnte FIRST_NAME=$(grep "$customer_id" customer-info|cut -f5 -d,) LAST_NAME=$(grep "$customer_id" …
Ich versuche eine Methode zu finden, um alle Programme aufzulisten, die ein Skript verwendet, wenn es ausgeführt wird, ohne es tatsächlich auszuführen. Ich habe diese schnellen und schmutzigen Oneliner geschrieben: # fill an array with all the useful words except variables, options, brackets, quotes readarray -t list <<<$( grep -v …
Ich habe eine Dateieingabe: $ cat input 1echo 12345 und ich habe folgendes programm 1. Version #include <stdio.h> #include <stdlib.h> int main() { system("/bin/bash -i"); return 0; } Wenn ich es jetzt laufen lasse, $ gcc -o program program.c $ ./program < input bash: line 1: 1echo: command not found …
Ich habe versehentlich die falsche Umgebung aus einem Skript bezogen. Gibt es eine Möglichkeit, die Quelle zu entfernen oder mit anderen Worten, sie zurückzusetzen und die vorherige Umgebung wiederherzustellen? Die offensichtliche Antwort ist natürlich, von einer Clean-Shell-Sitzung zu beginnen, aber ich bin gespannt, ob es eine andere Lösung gibt. Update: …
Ich habe mir hier eine Diskussion zwischen Kusalananda und xhienne angesehen , in der erwähnt [ "" -ge 2 ]wird , dass es sich nicht um einen gültigen Test handelt, der einen Fehler in bash --posixund anderen POSIX-kompatiblen Shells erzeugt. bash-4.3$ [ "" -gt 10 ] bash: [: : integer …
In Beginning Linux Programming book. Es gibt einen Abschnitt über den Anweisungsblock . In diesem Teil sieht die Erklärung wie folgt aus. Anweisungsblöcke Wenn Sie mehrere Anweisungen an einer Stelle verwenden möchten, an der nur eine zulässig ist, z. B. in einer UND- oder ODER-Liste, können Sie dies tun, indem …
Ich habe folgenden Alias: alias mv='mv -i' alias git='LANG=en_US \git ' Wenn ich dann einen git mvBefehl mache, wird der wie mvfolgt interpretiert mv -i: $ git mv a b error: unknown switch `i' Ich möchte, dass der Alias nur angewendet wird, wenn es sich um einen Bash-Befehl handelt Versionen: …
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.