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 ein Skript, das eine Reihe von verschiedenen Dingen ausführt, von denen die meisten keine besonderen Berechtigungen erfordern. Ein bestimmter Abschnitt, den ich in einer Funktion enthalten habe, benötigt jedoch Root-Rechte. Ich möchte nicht, dass das gesamte Skript als Root ausgeführt wird, und ich möchte diese Funktion mit Root-Rechten …
Der Ausdruck: $ ksh -c 'for ((i=0;i<10;i++)){ echo $i;}' 0 1 2 3 4 funktioniert einwandfrei Ich kann die Beschreibung dieser Syntax, in der die ersetzt {...;}wird, nicht ; do ...; doneim Handbuch finden. Gibt es eine Referenz im Handbuch? Für welche Shells funktioniert das richtig?
In meiner Kopie des conda.shSkripts sehe ich die folgenden Zeilen: if [ -n "${_CE_CONDA}" ] && [ -n "${WINDIR+x}" ]; then SYSP=$(\dirname "${CONDA_EXE}") else SYSP=$(\dirname "${CONDA_EXE}") SYSP=$(\dirname "${SYSP}") fi Ich bin gespannt, warum es einen Backslash vor dem dIn gibt dirname. Ich glaube nicht, dass es notwendig ist. Diese Verwendung …
Zum Beispiel {a..c}{1..3}erweitert um a1 a2 a3 b1 b2 b3 c1 c2 c3. Wenn ich drucken wollte a1 b1 c1 a2 b2 c2 a3 b3 c3, gibt es eine analoge Möglichkeit, dies zu tun? Was ist der einfachste Weg?
Gibt es Ersatz, Alternativen oder Bash-Tricks, um Befehle zu verzögern, ohne sie zu verwenden sleep? Führen Sie beispielsweise den folgenden Befehl aus, ohne den Energiesparmodus tatsächlich zu verwenden: $ sleep 10 && echo "This is a test"
Wenn ich versuche, den folgenden Befehl auszuführen: echo -e "GET / HTTP/1.1\n\n" | /dev/tcp/74.125.225.19/80 Ich erhalte folgende Fehlermeldung: bash: /dev/tcp/74.125.225.19/80: No such file or directory Der folgende Befehl funktioniert einwandfrei, sodass das Problem darin besteht, wie ich ihn verwende /dev/tcp: echo -e "GET / HTTP/1.1\n\n" | nc 74.125.225.19 80 Ich …
Ich habe mich gefragt, ob es eine Möglichkeit gibt, dies zu registrieren, aber da die meisten modernen Suchmaschinen mit Phrasen von mehr als 5 Wörtern nicht gut funktionieren, brauche ich Hilfe. Ich habe mich das gefragt, weil ich ein Bash-Skript mache, das Dateien als bestimmte Typen registrieren und entsprechende Entscheidungen …
Betrachten Sie dieses Skript: #!/bin/bash function start { leafpad & echo $! } PID=$(start) echo "PID is $PID" Das Skript wird erst fortgesetzt, wenn der Leafpad-Prozess beendet ist, obwohl es sich um einen Hintergrundprozess handelt. Warum ist das? Ist es möglich, einen Hintergrundprozess von einer Funktion aus zu starten?
Entweder ist das, was ich hier frage, extrem unorthodox / unkonventionell / riskant, oder meine Google-Fu-Kenntnisse sind einfach nicht ausreichend für Schnupftabak ... Gibt es in einem bashShell-Skript eine einfache Möglichkeit, festzustellen, ob es von einem anderen Shell-Skript stammt oder von selbst ausgeführt wird? Mit anderen Worten, ist es möglich, …
Vielleicht wurde dies schon einmal beantwortet, ich würde einen Link zu einer anderen Antwort begrüßen ... Wenn ich einen Shell-Befehl (in einer bashShell) wie folgt ausführe : make Dann , während der Ausgang makewird kontinuierlich durch von der STDOUTder makeBefehl, wenn ich schreibe , make checkund drücken , enterbevor der …
Kürzlich habe ich kurze Sätze zu einer tree_holeDatei wiederholt . Ich echo 'something' >> tree_holehabe diesen Job gemacht. Aber ich war immer besorgt, was , wenn ich falsch Eingabe >statt >>, da ich dies oft getan hat. Also habe ich eine eigene globale Bash-Funktion in der Bash-Funktion erstellt: function th …
Es gibt hier ein paar Fragen und Antworten, um benachrichtigt zu werden, wenn ein Prozess abgeschlossen ist / beendet wird ( 1 , 2 ) - diese setzen jedoch alle voraus, dass der Benutzer den Prozess selbst ausgegeben hat, und können ihn daher mit einem in die eingebauten Alert skripten …
Wenn ich zum Beispiel eine Datei erstellen und Text in einer Zeile eingeben möchte, kann ich die Ausgabe mithilfe des >Operators in eine Datei umleiten : echo "something" > /path/foobar Aber wenn ich keinen Zugriff auf den Ordner habe /path/und Sudo-Berechtigungen benötige, wie kann ich denselben Befehl wie ein normaler …
Ich lese ein Bash-Skript. Ich verstehe nicht, was da vor sich geht. #!/bin/sh [ x$1 = x ] Was ist in der zweiten Zeile los und was [ x$1 = x ] bedeutet das?
Ungefähr fünfmal am Tag gebe ich "vi" ein, wenn ich "cd" meinte, und ende damit, ein Verzeichnis in vi zu öffnen. Es macht mich NUTS. Anscheinend sollte es eine Möglichkeit geben, zu erkennen, wann ich "vi + directory" eingebe und es automatisch in "cd + directory" ändere. Gedanken?
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.