Als «quoting» getaggte Fragen

Zeichenfolgen werden normalerweise durch Anführungszeichen begrenzt, was das Problem des Umgangs mit Zeichenfolgen mit Anführungszeichen aufwirft.




3
Welche Zeichen brauche ich, um sed in einem sh-Skript zu verwenden?
Nimm das folgende Skript: #!/bin/sh sed 's/(127\.0\.1\.1)\s/\1/' [some file] Wenn ich versuche, dies sh( dashhier) auszuführen , schlägt dies aufgrund der Klammern fehl, die maskiert werden müssen. Aber ich muss den Backslashes selbst nicht entkommen (zwischen den Oktetten oder im \soder \1). Was ist die Regel hier? Was ist, wenn …


3
Warum werden Elemente mit Leerzeichen in einfache Anführungszeichen gesetzt?
Mir ist gerade aufgefallen, dass auf einem meiner Computer (auf dem Debian Sid ausgeführt wird), wenn ich lseinen Dateinamen mit Leerzeichen eingebe, einfache Anführungszeichen verwendet werden. Ich habe meine Aliase sofort überprüft und festgestellt, dass sie intakt sind. wyatt@debian630:~/testdir$ ls 'test 1.txt' test1.txt wyatt@debian630:~/testdir$ alias alias ls='ls --color=auto' alias wget='wget …

6
Was bedeutet `(backquote / backtick) in Befehlen?
Ich bin auf folgenden Befehl gestoßen: sudo chown `id -u` /somedir und ich frage mich: was bedeutet das `symbol? Mir ist zum Beispiel aufgefallen, dass der obige Befehl zwar gut funktioniert, der folgende Befehl jedoch nicht: sudo chown 'id -u' /somedir
159 shell  quoting 


3
Anführungszeichen innerhalb von $ (Befehlsersetzung) in Bash
In meiner Bash-Umgebung verwende ich Variablen, die Leerzeichen enthalten, und diese Variablen bei der Befehlssubstitution. Leider kann ich die Antwort auf SE nicht finden. Wie zitiere ich meine Variablen richtig? Und wie soll ich es machen, wenn diese verschachtelt sind? DIRNAME=$(dirname "$FILE") oder zitiere ich außerhalb der Vertretung? DIRNAME="$(dirname $FILE)" …

1
Wann ist eine doppelte Anführungszeichen erforderlich?
Der alte Rat bestand früher darin, jeden Ausdruck mit einem doppelten Anführungszeichen zu versehen $VARIABLE, zumindest wenn man wollte, dass er von der Shell als ein einzelnes Element interpretiert wird, da sonst Leerzeichen im Inhalt von $VARIABLEdie Shell abwerfen würden. Ich verstehe jedoch, dass in neueren Versionen von Shells nicht …

6
Wie kann ich `date` in einem Cron Tab Job ausführen?
Ich möchte eine Protokolldatei für ein Cron-Skript erstellen, dessen Protokolldateiname die aktuelle Stunde enthält. Dies ist der Befehl, den ich versucht habe: 0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log Leider bekomme ich diese Meldung, wenn das läuft: /bin/sh: -c: line 0: unexpected EOF while looking for matching …

7
Kann in bash kein Ausrufezeichen (!) Verwendet werden?
Ich versuche, mit dem Befehl curl auf eine http-URL mit einem Ausrufezeichen ( !) im Pfad zuzugreifen . z.B: curl -v "http://example.org/!287s87asdjh2/somepath/someresource" Die Konsole antwortet mit bash: ... event not found. Was geht hier vor sich? und was wäre die richtige Syntax, um dem Ausrufezeichen zu entgehen?

4
Warum funktioniert die Parametererweiterung mit Leerzeichen ohne Anführungszeichen in doppelten Klammern "[[", aber nicht in einfachen Klammern "["?
Ich bin verwirrt mit einfachen oder doppelten Klammern. Schau dir diesen Code an: dir="/home/mazimi/VirtualBox VMs" if [[ -d ${dir} ]]; then echo "yep" fi Es funktioniert perfekt, obwohl die Zeichenfolge ein Leerzeichen enthält. Aber wenn ich es in einzelne Klammer ändere: dir="/home/mazimi/VirtualBox VMs" if [ -d ${dir} ]; then echo …
85 bash  quoting  ksh  test 

7
Verwenden von sed zum Suchen und Ersetzen komplexer Zeichenfolgen (vorzugsweise mit Regex)
Ich habe eine Datei mit folgendem Inhalt: <username><![CDATA[name]]></username> <password><![CDATA[password]]></password> <dbname><![CDATA[name]]></dbname> und ich muss ein Skript erstellen, das "name" in der ersten Zeile in "something", "password" in der zweiten Zeile in "somethingelse" und "name" in der dritten Zeile in "somethingdifferent" ändert. Ich kann mich nicht darauf verlassen, dass diese in der …

3
Was bedeutet es, in einem Skript eine Zeichenfolge mit dem Präfix $ "dollarsign" zu haben?
Ich habe das gerade in einem Init-Skript gesehen: echo $"Stopping Apache" Wofür ist das Dollarzeichen? Meine bisherigen Forschungen: Ich fand das im Bash-Handbuch: extquote Wenn gesetzt, $'string'und $"string"unter Angabe innerhalb ausgeführt ${parameter}in Anführungszeichen Erweiterungen. Diese Option ist standardmäßig aktiviert. ... aber ich finde keinen Unterschied zwischen Strings mit und ohne …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.