Bash einfaches Anführungszeichen Escape

Einfache Anführungszeichen innerhalb einfacher Anführungszeichen in Bash escapen

Dieser Artikel stellt vor, wie man einfache Anführungszeichen innerhalb einfacher Anführungszeichen innerhalb einfacher Anführungszeichen in der Bash-Sprache auf der Linux-PC-/Server-Kommandozeile escaped. Also, wenn es ein einfaches Anführungszeichen innerhalb von Code gibt, der von <code>'''</code> eingeschlossen ist...

Shou Arisaka
2 Min. Lesezeit
18. Nov. 2025

Dieser Artikel stellt vor, wie man einfache Anführungszeichen innerhalb einfacher Anführungszeichen innerhalb einfacher Anführungszeichen in der Bash-Sprache auf der Linux-PC-/Server-Kommandozeile escaped.

Image

Das Escapen einfacher Anführungszeichen in Bash erfolgt wie folgt:

'\''

Wie escaped man also, wenn es ein einfaches Anführungszeichen innerhalb von Code gibt, der von ''' eingeschlossen ist?

'\''\'\'''\''

Ich habe auch solchen Code geschrieben und tatsächlich eine Situation mit einfachen Anführungszeichen innerhalb einfacher Anführungszeichen innerhalb einfacher Anführungszeichen geschaffen, aber es scheint, dass das Escapen mehrschichtiger einfacher Anführungszeichen komplexer ist als erwartet.

cd "${1}" && ls | xargs -I {} bash -c ' dirname="$( echo "{}" | awk '\''{print $10}'\'' )" ; [[ -d "${dirname}" ]] && [[ ! "${dirname}" =~ ^\.\.$ ]] && echo "{}" | awk -v dirname="${dirname}" '\''{ " du -h "dirname" | tail -1 | awk '\''\'\'''\''{ print $1 }'\''\'\'''\'' " |& getline $11 ; print $0 }'\''  ' ; cd - # great

Wenn Sie tiefere Escape-Sequenzen für einfache Anführungszeichen kennenlernen möchten, werden die folgende Seite und das folgende Skript hilfreich sein.

quotify(){

cat << 'EOT' > ${HOME}/quotify ; chmod 755 ${HOME}/quotify ; ${HOME}/quotify
#!/usr/bin/perl -pl
s/'/'\\''/g;
$_ = qq['$_'];
EOT

}

bash - How to escape single quotes within single quoted strings? - Stack Overflow

Diesen Artikel teilen

Shou Arisaka 18. Nov. 2025

🔗 Links kopieren