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 habe bashin meiner ~/.bashrcDatei eine Funktion definiert . Dies ermöglicht mir die Verwendung in Shell-Terminals. Es scheint jedoch nicht zu existieren, wenn ich es aus einem Skript heraus aufrufe. Wie kann ich eine bashFunktion definieren , die auch von Skripten verwendet wird?
Ich habe mehrere Funktionen in meiner .bashrcDatei eingerichtet. Ich möchte nur den aktuellen Code der Funktion anzeigen und nicht ausführen, um schnell auf etwas zu verweisen. Gibt es eine Möglichkeit, die Funktionsdefinition zu sehen?
Gibt es eine Möglichkeit, eine Bash-Funktion im Sinne ihrer alten Definition neu zu definieren? Zum Beispiel möchte ich der Präambel der Funktion den folgenden Codeblock hinzufügen command_not_found_handle (): # Check if $1 is instead a bash variable and print value if it is local VAL=$(eval echo \"\$$1\") if [ -n …
Beim Aktualisieren der Bash für das Sicherheitsproblem CVE-2014-6271 ist folgender Fehler aufgetreten: # yum update bash Running transaction (shutdown inhibited) Updating : bash-4.2.47-4.fc20.x86_64 /bin/sh: error importing function definition for `some-function'
In Bash-Skripten versuche ich, meine Variablen für Funktionen lokal zu halten, wo immer ich kann, und dann das, was ich brauche, aus Funktionen wie unten zu übergeben #!/bin/bash function FUNCTION() { local LOCAL="value" echo "$LOCAL" # return this variable } GLOBAL=$(FUNCTION) echo "$GLOBAL" Aber ist es möglich, dies zu tun, …
Die Verwendung erweiterter Unicode-Zeichen ist (ohne Zweifel) für viele Benutzer nützlich. Einfachere Shells (ash (busybox), dash) und ksh schlagen fehl mit: tést() { echo 34; } tést Aber bash , mksh , lksh und zsh scheinen es zu erlauben. Mir ist bekannt, dass POSIX- gültige Funktionsnamen diese Definition von Namen …
Ich habe eine Funktion zum schnellen Erstellen eines neuen SVN-Zweigs, der so aussieht function svcp() { svn copy "repoaddress/branch/$1.0.x" "repoaddress/branch/dev/$2" -m "dev branch for $2"; } Womit ich schnell einen neuen Zweig erstelle, ohne die Adressen und einige andere Dinge nachschlagen und kopieren und einfügen zu müssen. Für die Nachricht …
Ich habe ein Bash-Skript wie unten, das zookeeper installiert, aber nur, wenn es nicht bereits installiert ist. ##zookeper installZook(){ ZOOK_VERSION="3.4.5" ZOOK_TOOL="zookeeper-${ZOOK_VERSION}" ZOOK_DOWNLOAD_URL="http://www.us.apache.org/dist/zookeeper/${ZOOK_TOOL}/${ZOOK_TOOL}.tar.gz" if [ -e $DEFAULT_INSTALLATION_DEST/${ZOOK_TOOL} ]; then echo "${ZOOK_TOOL} alreay installed"; exit 1; # <<<< here elif [ ! -e $DEFAULT_SOURCE_ROOT/${ZOOK_TOOL}.tar.gz ]; then wgetIt $ZOOK_DOWNLOAD_URL else echo "[info] : …
Nachdem ich ilkkachus Antwort auf diese Frage gelesen hatte, erfuhr ich von der Existenz der eingebauten declare(mit Argument -n) Shell. help declare bringt: Legen Sie Variablenwerte und Attribute fest. Deklarieren Sie Variablen und geben Sie ihnen Attribute. Wenn keine NAMEs angegeben sind, zeigen Sie die Attribute und Werte aller Variablen …
Beim Betrachten der Ausgabe von habe envich festgestellt, dass es auch die folgende Funktion gibt. BASH_FUNC_mc%%=() { . /usr/share/mc/mc-wrapper.sh } Der Inhalt der Datei /usr/share/mc/mc-wrapper.sh lautet wie folgt. MC_USER=`id | sed 's/[^(]*(//;s/).*//'` MC_PWD_FILE="${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$" /usr/bin/mc -P "$MC_PWD_FILE" "$@" if test -r "$MC_PWD_FILE"; then MC_PWD="`cat "$MC_PWD_FILE"`" if test -n "$MC_PWD" && test …
Ich habe eine Reihe von Funktionen in meinem .bashrcdefiniert, die interaktiv in einem Terminal verwendet werden sollen. Ich habe ihnen im Allgemeinen einen Kommentar vorangestellt, in dem die beabsichtigte Verwendung beschrieben wird: # Usage: foo [bar] # Foo's a bar into a baz foo() { ... } Dies ist in …
Ich versuche, einen Bash-Alias zu erstellen, in dem der Alias selbst ein Leerzeichen enthält. Die Idee ist, dass der Alias (dh con) für steht sudo openvpn --config /path/to/my/openvpn/configs/. Dies führt zu einem lesbaren Befehl, wenn der conAlias verwendet wird. dh: `con uk.conf` == `sudo openvpn --config /path/to/my/openvpn/configs/uk.conf` Ich verstehe, dass …
Problem: Ich habe mehrere Bash-Funktionen und Aliase. Ich kann mich nicht an alle erinnern, also öffne ich normalerweise meine .bash_functionsund .bash_aliasesDateien, um zu finden, was ich brauche. Fragen): Wie kann ich Funktionen / Aliase auflisten, die an der Bash-Eingabeaufforderung verfügbar sind? Kann ich meine Bash-Funktionen / Aliase mithilfe von Kommentaren …
Ich bearbeite bashrc also ständig und habe ein offenes Terminal mit einer funktionierenden Funktionsdefinition, obwohl bashrc mit einer falschen Funktionsdefinition aktualisiert wurde. (Da sich die Definition erst ändert, wenn ich den aktualisierten bashrc beziehe.) Wie kann ich in diesem Fall die Definition der Arbeitsfunktion nachschlagen? Zum Beispiel, wenn ich tippe: …
Ich habe eine functionin meiner .bashrcAkte. Ich weiß, was es tut, es erhöht X viele Verzeichnisse mitcd Hier ist es: up() { local d="" limit=$1 for ((i=1 ; i <= limit ; i++)) do d=$d/.. done d=$(echo $d | sed 's/^\///') if [ -z "$d" ]; then d=.. fi cd …
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.