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.
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 …
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 schreibe ein Horoskop-RSS-Skript als Einführung in ein Unix / Linux-Projekt und bin auf ein Problem gestoßen, das mein Professor in der Zeit, in der ich nach dem Unterricht bleiben konnte, nicht beheben konnte. Da ich nicht herausfinden konnte, wie man tatsächliche Daten als zu überprüfende Daten verwendet, dachte ich, …
Meine Frage kommt von: Wie vermeidet das Speichern des regulären Ausdrucks in einer Shell-Variablen Probleme beim Zitieren von Sonderzeichen für die Shell? . Warum liegt ein Fehler vor: $ [[ $a = a|b ]] bash: syntax error in conditional expression: unexpected token `|' bash: syntax error near `|b' Innerhalb [[ …
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.
Ich benutze Ctrl+ die Rganze Zeit, aber am Ende übersteige ich oft den Befehl, nach dem ich gesucht habe, weil ich ihn so schnell drücke. Weiterleiten suchen, Ctrl+ Skann verwendet werden , vorausgesetzt , es ist nicht das Terminal zuerst (konsole in meinem Fall verwendet , in dem stty -ixonin …
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 …
Also, wenn ich eine Variable habe VAR='10 20 30 40 50 60 70 80 90 100' und es wiedergeben echo "$VAR" 10 20 30 40 50 60 70 80 90 100 Weiter unten im Skript muss ich jedoch die Reihenfolge dieser Variablen umkehren, damit sie so etwas wie angezeigt wird …
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 …
Ein Bash-Skript, das enthält for i in {a,b}-{1,2}; do echo $i; done druckt a-1 a-2 b-1 b-2 wenn ausgeführt. Dies ist, was ich erwartet hatte - als das {a,b}Konstrukt erweitert wird. Wenn jedoch (ein anderes) Skript enthält v={a,b}-{1,2} echo $v es druckt {a,b}-{1,2} Das ist nicht das, was ich erwartet …
Manchmal habe ich gerne sehr angepasste Bash-Aliase und möglicherweise Tastenkombinationen, wenn ich einen Ordner eingebe (kann ein Projekt sein, in dem ich viele Befehle von CLI eingebe). Nehmen wir an, wenn ich einen Ordner wie "projectAlpha /" eingebe, erwarte ich einige benutzerdefinierte Aliase wie: alias doTaskX='./app arg1 arg2...|filter arg1 arg2...' …
Wenn ich mich in der Bash-Funktion befinde und + , drücke Esc, wird die Bash-Funktion mit einem Dateinamen ausgelöst, der dem ähnlich ist .ShiftKV$EDITOR/tmp/bash-fc-186566385 Warum ist das so und wozu dient es? Ich muss wahrscheinlich erwähnen, dass ich mit Bash renne set -o vi.
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.