Warum wird in diesem einfachen Bash-Skript nicht echo $1gedruckt $1? #!/bin/bash # function.sh print_something () { echo $1 } print_something $ ./function.sh 123 -> why doesn't it print '123' as a result?
Nehmen wir an, ich habe die folgenden Variablen deklariert: $ var='$test' $ test="my string" Wenn ich deren Inhalt drucke, sehe ich Folgendes: $ echo $var $test $ echo $test my string Ich möchte einen Weg finden, um den Inhalt des Inhalts von $var(der der Inhalt von ist $test) zu drucken …
Wenn Sie versuchen, eine Datei als Quelle zu verwenden, möchten Sie nicht einen Fehler erhalten, der besagt, dass die Datei nicht vorhanden ist, damit Sie wissen, was zu beheben ist? Zum Beispiel empfiehlt nvm , dies zu Ihrem Profil / rc hinzuzufügen: export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. …
Wenn ich dieses Skript ausführe, das ausgeführt werden soll, bis es getötet wird ... # foo.sh while true; do sleep 1; done ... Ich kann es nicht finden mit ps ax: >./foo.sh // In a separate shell: >ps ax | grep foo.sh 21110 pts/3 S+ 0:00 grep --color=auto foo.sh ... …
Ich installiere ein riesiges Programm, dessen Ressourcen als rpmDatei vorliegen. Es klebte an der Linie von #!/bin/sh SCITEGICPERLBIN=`dirname $0` SCITEGICPERLHOME=`dirname $SCITEGICPERLBIN` if [ $SCITEGICPERLHOME == "." ] Anscheinend shfunktioniert bashRed Hat Linux mit dieser Syntax, aber es gibt den Fehler unexpected operatorin Ubuntu. Ich kann das Skript nicht in ändern, …
Ich möchte einige Befehle parallel ausführen. Wenn alle diese Befehle beendet sind, starten Sie den nächsten. Ich denke, der folgende Ansatz wird funktionieren #!/bin/bash command1 & command2 & command3 && command4 aber das tat es nicht. Ich muss ausgeführt werden, command4wenn alle ersten drei Befehle vollständig ausgeführt wurden.
Gibt es Methoden, um zu überprüfen, was Sie tatsächlich aus einem Bash-Skript ausführen? Sagen Sie Ihr Bash - Skript mehrere Befehle ruft (zum Beispiel: tar, mail, scp, mysqldump) , und Sie sind bereit , um sicherzustellen , dass tardie tatsächliche ist, real tar, was durch die bestimmbar rootBenutzer der Datei …
Ich verwende set -ezu Bash - Skript auf den ersten Fehler zu stoppen . Alle funktionieren OK, es sei denn, ich verwende den Befehl mit &&: $ cat script set -e cd not_existing_dir && echo 123 echo "I'm running! =P" $ $ ./script ./script: line 2: cd: not_existing_dir: No such …
Ich bin ziemlich neu in Bash-Scripting. Ich habe ein "Testskript", das ich als Grundlage für ein erweitertes / nützliches Skript verwendet habe: #!/bin/bash files=$1 for a in $files do echo "$a" done Wenn ich dies ohne Anführungszeichen aufrufe, nimmt es nur eine Datei in einem Verzeichnis auf: testscript *.txt Aber …
Gibt es in * nix world eine Möglichkeit für Shell-Skripte, Informationen darüber zu erhalten, welches Programm es ausgeführt hat? Beispiel: /path/to/script1 /path/to/script_xyz in diesem imaginären Szenario script_xyzhätte Pfadinformationen ( /path/to/script1) oder PID verarbeiten der Einheit, die es ausgeführt haben. Hinweis: Ich bin neugierig auf verschiedene Lösungen und Ansätze und erwarte …
Ich habe ein Skript, das einige Ausgaben generiert. Ich möchte diese Ausgabe auf eine IP-Adresse wie überprüfen 159.143.23.12 134.12.178.131 124.143.12.132 if (IPs are found in <file>) then // bunch of actions // else // bunch of actions // Ist fgrepeine gute idee Ich habe Bash zur Verfügung.
Ich habe eine Textdatei mit einem Dateinamen in jeder Zeile: 111_c4l5r120.png 123_c4l4r60.png 135_c4l4r180.png 147_c4l3r60.png 15_c4l1r120.png ... Ich möchte es in diese Form umwandeln: 111_c4l5r120.png 111 123_c4l4r60.png 123 135_c4l4r180.png 135 147_c4l3r60.png 147 15_c4l1r120.png 15 ... mit diesem Code: #!/bin/bash while IFS='' read -r line || [[ -n "$line" ]]; do echo …
Grundsätzlich möchte ich das erste Vorkommen von -infaus der Parameterliste "herauszupfen" . (Die restlichen Parameter werden an einen anderen Befehl übergeben.) Das Skript, das ich habe, hat die folgende Struktur: #!/bin/sh <CODE> for POSITIONAL_PARAM in "$@" do <CODE> if [ "$POSITIONAL_PARAM" = '-inf' ] then <PLUCK $POSITIONAL_PARAM FROM $@> break …
Ich habe ein Skript, das misst, wie lange ein Befehl ausgeführt wird. Es benötigt den timeBefehl "real" , was bedeutet, dass beispielsweise eine Binärdatei enthalten ist /usr/bin/time(da die eingebaute Bash nicht über das -fFlag verfügt). Unten ein vereinfachtes Skript, das debuggt werden kann: #!/bin/bash TIMESEC=$(echo blah | ( /usr/bin/time -f …
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.