Als «quoting» getaggte Fragen

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

2
Argumente zu 'bash -c' hinzufügen
Angenommen, ich möchte einen Befehl wie folgt über Bash ausführen: /bin/bash -c "ls -l" Laut Bash-Manpage könnte ich es auch so ausführen: # don't process arguments after this one # | pass all unprocessed arguments to command # | | # V V /bin/bash -c ls -- -l außer es …

1
Warum wird diese Datei nicht "gefunden"?
Mit findwith grepkann man Dateien finden, die einem Muster entsprechen: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log Wenn Sie jedoch findnur die erste Datei verwenden, wird Folgendes nicht gefunden: # find . -name error* ./error_log ./includes/classes/error_log Warum wird finddie errors.htmlDatei nicht gefunden, wenn sie nicht mit verwendet wird grep? …

1
So stellen Sie sicher, dass Zeichenfolgen, die in sed-Substitutionen interpoliert werden, allen Metazeichen entgehen
Ich habe ein Skript, das einen Textstrom liest und eine Datei mit sed-Befehlen generiert, die später mit ausgeführt wird sed -f. Die generierten sed Befehle sind wie folgt: s/cid:image002\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1922/g s/cid:image003\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1923/g s/cid:image004\.jpg@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1924/g Angenommen, das Skript, das die sedBefehle generiert, sieht folgendermaßen aus: while read cid fileid do cidpat="$(echo $cid | sed …
21 sed  quoting 

2
verschachtelte doppelte Anführungszeichen in hoch bewerteten Einzeiler
Eine StackOverflow- Antwort mit> 3.5K Stimmen enthält diesen Einzeiler für die Zuordnung zum DIRVerzeichnis des aktuellen Bash-Skripts: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Ich bin verwirrt über die geschachtelten Anführungszeichen. Soweit ich das beurteilen kann, werden folgende Fragmente in doppelte Anführungszeichen gesetzt: "$( cd " "${BASH_SOURCE[0]}" " …

1
sed mit kaufmännischem Und (&) verwenden
Ich verwende sed, um Muster in SAS-Dateien zu suchen und zu ersetzen, anstatt sie einzeln zu ändern. Das Problem ist, dass ich versuche, Makrovariablen zu ersetzen, und wenn ich das kaufmännische Und verwende, wird es nicht richtig verarbeitet. Here's my code: sed -ie 's/user=&uid./user=&sysuserid./g' *_table_*.sas Wenn ich diesen Befehl ausführe, …
19 sed  quoting  replace 

4
So weisen Sie Variablen in bash mit eval speicherplatzhaltige Werte zu
Ich möchte Variablen mit dynamisch Werte zuweisen eval. Das folgende Dummy-Beispiel funktioniert: var_name="fruit" var_value="orange" eval $(echo $var_name=$var_value) echo $fruit orange Wenn der Variablenwert jedoch Leerzeichen enthält, wird evalein Fehler zurückgegeben, auch wenn $var_valuezwischen Anführungszeichen gesetzt wird: var_name="fruit" var_value="blue orange" eval $(echo $var_name="$var_value") bash: orange : command not found Wie kann …
19 bash  shell  quoting 

2
Welche Bedeutung haben einfache und doppelte Anführungszeichen in Umgebungsvariablen?
Ich habe einige Umgebungsvariablen in meinem .profile wie folgt definiert: MY_HOME="/home/my_user" Die Variable scheint jedoch nur ausgewertet zu werden, wenn ich die Anführungszeichen entferne und die Datei erneut entpacke. Ich glaube, die Anführungszeichen sind notwendig, wenn Leerzeichen verwendet werden sollen, und einfache Anführungszeichen werden verwendet, wenn Fluchtwege nicht erwünscht sind. …

3
Warum schlagen Optionen in einer Variablen in Anführungszeichen fehl, funktionieren aber, wenn sie nicht in Anführungszeichen stehen?
Ich habe darüber gelesen, dass ich Variablen in bash zitieren sollte, zB "$ foo" anstelle von $ foo. Beim Schreiben eines Skripts stieß ich jedoch auf einen Fall, in dem es ohne Anführungszeichen, jedoch nicht mit diesen funktioniert: wget_options='--mirror --no-host-directories' local_root="$1" # ./testdir recieved from command line remote_root="$2" # ftp://XXX …


2
Erweiterung einer Shell-Variablen und Auswirkung von glob und Split darauf
Dieser Beitrag enthält eigentlich zwei getrennte Fragen, aber ich denke, dass eine Gruppierung dieser Fragen mehr Kontext ergibt. Ich habe diese Frage zu Anführungszeichen für Variablen durchgearbeitet, verstehe aber nicht ganz, was Variablenerweiterung überhaupt bedeutet. Meine erste Frage lautet also: Was ist variable Expansion unter Unix / Linux? Ein zweiter …



1
Warum funktioniert der Befehl ffmpeg in bash und nicht in zsh?
Heute bin ich von der Arbeit nach Hause gekommen (Bash auf einer Ubuntu-Box ausführen) und habe versucht, mit meinem geliebten zsh Code auf meiner lokalen Arch-Box auszuführen, und die Befehle sind fehlgeschlagen? Der Befehl ist unten mit den persönlichen Daten und IP offensichtlich geändert ffmpeg -i rtsp://user:pass@my.webserver.org:5554/my-media/media.amp?videocodec=h264 -threads 3 -vcodec …
17 bash  zsh  quoting  url 

5
Verwendung einer generierten Liste von Dateinamen als Argumentliste - mit Leerzeichen
Ich versuche, ein Skript mit einer Liste von Dateinamen aufzurufen, die von gesammelt wurden find. Nichts Besonderes, nur so etwas: $ myscript `find . -name something.txt` Das Problem ist, dass einige der Pfadnamen Leerzeichen enthalten, sodass sie bei der Argumenterweiterung in zwei ungültige Namen aufgeteilt werden. Normalerweise würde ich die …


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.