Frage

Ich habe ein KSH-Skript, das so bleiben muss (ein Teil der Programme läuft es darauf bestehen, wobei KSH). Ich möchte das Eingabeargument „test.txt“ nehmen und die letzten 4 Zeichen entfernen oder den „.txt“ mit nichts finden und ersetzen.

In der bash würde ich tun,

NewVar=${@/.txt/}

Das funktioniert nicht, obwohl in KSH. Wie kann ich von der .txt in KSH loswerden? Ich habe versucht,

bash -c 'NewVar=${@/.txt/}'

, aber es hat den $ @ Variable in diesen neu geschaffen Shell nicht.

Danke,

Dan

War es hilfreich?

Lösung

Warum nicht benutzen base ?

Andere Tipps

KSH lassen Sie nicht es mit $ @ tun, aber wenn man es zu einer temporären Variablen zuweisen, können Sie es tun, ohne Laichen andere proc mit

tmp=$@
newvar=${tmp%.txt}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top