Text ohne Hochkomma und <

XChris

Erfahrenes Mitglied
Hallo

ich möchte die Zeichen " ' < und > einer Variable mit einem / maskieren. Leider habe ich mit der UNIX Shell nicht oft was zu tun.

So sieht mein Code aus - leider tut er es noch nicht:

Code:
{...}

export testvar

$testvar = {funktion, welche den Text liefert. Zum Beispiel ORA-19293 System "gsgsg" < 'spielwiese' }

# und hier ist mein Knackpunkt:
$testvar = $testvar | sed -e '[<>/"/'] /s//'


[<>/"/']

Für einen kräftigen Griff unter die Arme wäre ich echt dankbar.
 

deepthroat

Erfahrenes Mitglied
Hi.

Erstmal sieht eine Zuweisung an Variablen so aus:
Code:
testvar=…
Also ohne $ und ohne Leerzeichen um das = Zeichen.

Dann die Maskierungsregeln:

1. jedes Zeichen innerhalb von ' verliert seine spezielle Bedeutung
2. spezielle Zeichen innerhalb von " können mit einem Backslash entwertet werden

Für deinen Fall wurde es sich anbieten Regel 2 zu verwenden.

Code:
echo "<'\">"

Eine Umleitung mittels | Zeichen funktioniert nur wenn etwas auf die Standardausgabe geschrieben wird. Zeile 8 müßte irgendwo einen Befehl enthalten.

Das s Kommando von sed funktioniert auch anders. Du musst schon angeben was du durch was ersetzen willst.

Das war jetzt aber mehr als kräftig...