Fragen zur Funktionsnutzung im Kontext von Unix & Linux (meist aber nicht ausschließlich Shell-Skripte). Fragen zur Programmierung in Python, Perl, Ruby usw. sollten bei Stack Overflow gestellt werden.
Ich generiere und registriere oft viele Bash-Funktionen, die viele der Aufgaben automatisieren, die ich normalerweise in meinen Entwicklungsprojekten erledige. Diese Generation hängt von den Metadaten des Projekts ab, an dem ich arbeite. Ich möchte die Funktionen mit den Informationen des Projekts, das sie generiert haben, folgendermaßen versehen: func1() { # …
Nehmen wir zum Beispiel an, ich habe einen Befehl git branch(immer mit ein paar Worten). Ich möchte verfolgen, wann dieser Befehl mit Argumenten ausgeführt wird. Wenn ich den Befehl beispielsweise git branch developfehlerfrei ausführe , möchte ich in developeiner Datei speichern. Ich habe versucht, den Git-Befehl auf meinem zu überschreiben, …
In Python können wir Funktionen mit Code dekorieren, der automatisch angewendet und für Funktionen ausgeführt wird. Gibt es eine ähnliche Funktion in Bash? In dem Skript, an dem ich gerade arbeite, habe ich ein Boilerplate, das die erforderlichen Argumente testet und beendet, wenn sie nicht vorhanden sind - und einige …
Ich möchte die folgende Bash-Funktion so schreiben, dass sie ihre Eingabe entweder von einem Argument oder einer Pipe akzeptiert: b64decode() { echo "$1" | base64 --decode; echo } Gewünschte Verwendung: $ b64decode "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ b64decode < file.txt $ b64decode <<< "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ echo "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" | b64decode
Ich habe folgende Funktion: bar() { echo $1:$2; } Ich rufe diese Funktion von einer anderen Funktion auf foo. fooselbst heißt wie folgt: foo "This is" a test Ich möchte folgende Ausgabe erhalten: This is:a Das heißt, die Argumente, die barempfangen werden, sollten die gleichen Token sein, an die ich …
Ich benutze Ubuntu 16.04 mit dem nativen Bash. Ich bin nicht sicher, ob ausgeführt #!/bin/bash myFunc() { export myVar="myVal" } myFunc ist in jeder Hinsicht gleichbedeutend mit der Ausführung export myVar="myVal". Natürlich sollte eine globale Variable normalerweise außerhalb einer Funktion deklariert werden (eine Frage der Konvention, die ich annehme, auch …
Wenn ich dfoder verwende mount, bin ich vor allem an physischen Festplattenpartitionen interessiert. Heutzutage wird die Ausgabe dieser Befehle von temporären und virtuellen Dateisystemen, Gruppen und anderen Dingen überfordert, an denen ich nicht regelmäßig interessiert bin. Meine physischen Partitionen in der Ausgabe beginnen immer mit ' /', daher habe ich …
Ich habe Funktionen und Variablen in bash / ksh deklariert und muss sie weiterleiten an sudo su - {user} << EOF: #!/bin/bash log_f() { echo "LOG line: $@" } extVAR="yourName" sudo su - <user> << EOF intVAR=$(date) log_f ${intVAR} ${extVAR} EOF
Der Shellshock- Fehler in Bash funktioniert über Umgebungsvariablen. Ehrlich gesagt war ich überrascht von der Tatsache, dass es so ein Feature gibt wie: "Weitergabe von Funktionsdefinitionen über env vars" Daher ist diese Frage, obwohl sie möglicherweise nicht perfekt formuliert ist, die Frage nach einem Beispiel oder einem Fall, in dem …
Ich bin mit GNU awk 3.1.6 festgefahren und denke, ich habe die Array-Fehler umgangen, habe aber immer noch ein Problem mit dem Umfang in einem 600-Zeilen-awk-Programm. Sie müssen das Verständnis des Array-Bereichs in awk überprüfen, um meinen Fehler zu finden. Angesichts dieses illustrativen awk-Codes ... function foo(ga) { ga[1] = …
Wie kann ich eine Funktion schreiben zsh, die einen vorhandenen Befehl mit demselben Namen wie die Funktion selbst aufruft? Ich habe zum Beispiel versucht, meine Frage zu veranschaulichen: function ls { ls -l $1 $2 $3 } Wenn ich es mit ausführe, ls *erhalte ich Folgendes: ls:1: maximum nested function …
Ist es möglich, einen Befehlsblock als anonyme Funktion zu behandeln? function wrap_this { run_something # Decide to run block or maybe not. run_something else } wrap_this { do_something do_somthing else } # Do something else wrap_this { do_something_else_else do_something_else_else_else } (Mir ist klar, dass Sie für jeden Block eine Funktion …
Ich habe die Funktion fin Bash anhand des folgenden Beispiels definiert (unter "Eine Option mit einem Argument"): f () { while getopts ":a:" opt; do case $opt in a) echo "-a was triggered, Parameter: $OPTARG" >&2 ;; \?) echo "Invalid option: -$OPTARG" >&2 return 1 ;; :) echo "Option -$OPTARG …
Ich versuche, den folgenden Code auszuführen, aber wenn ich versuche, meine Funktion in der if-Anweisung zu verwenden, wird der -bash: [: too many argumentsFehler angezeigt. Warum passiert es? Vielen Dank im Voraus! notContainsElement () { local e match="$1" shift for e; do [[ "$e" == "$match" ]] && return 1; …
In Bash kann ich schreiben: caller 0 und erhalten Sie den Anruferkontext : Zeilennummer Funktion Skriptname Dies ist äußerst nützlich für das Debuggen. Gegeben: yelp () { caller 0; } Ich kann dann schreiben yelp, um zu sehen, welche Codezeilen erreicht werden. Ich kann implementieren caller 0in bash: als echo …
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.