Guten Tag zu ersetzen,Wie man einen Wert in einer Variablen
ich ein einfaches UNIX Skript test.sh
Ich brauche den Wert einer Variablen zu ersetzen. Diese Variable enthält einen Verzeichnispfad.
Mein test.sh Skript
#!/bin/sh
filepath="/host/messages/in/documents"
archivePath=`${filepath/\/in/\/archive/}`
echo "archive path is " $archivePath
Ich erhalte eine "schlechte Substitution" Fehler, wenn ich es laufen.
sollte die erforderliche Ausgabe für archivePath sein:
/host/messages/archive/documents
Was mache ich falsch und was eine mögliche Lösung sein könnte?
Falsch: nicht dem manuellen Seite Shell zu lesen. Lösung: Lesen Sie die Handbuchseite der Shell. Und bedenke, dass nicht die ganze Welt eine Bash ist. Substitution ist keine Eigenschaft von POSIX-Shells, es ist eine Erweiterung einiger anderer Shells (bash und zsh kommen mir in den Sinn). Hinweis: Die Backticks verursachen ** Prozesssubstitution **, nicht ** Parametersubstitution **. – Jens
Wenn nicht ersetzen, wie ersetzen ich dann "in" zu "archivieren" ?. – Chor419