2009-05-27 11 views
0

Ich habe ein Ksh-Skript, das so bleiben muss (einige der Programme bestehen darauf, ksh zu sein). Ich möchte das Eingabeargument "test.txt" nehmen und die letzten 4 Zeichen entfernen oder die ".txt" mit nichts finden und ersetzen.

In bash würde ich tun

NewVar=${@/.txt/} 

Dies funktioniert nicht, obwohl in KSH. Wie kann ich die .txt in ksh loswerden? Ich versuchte

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

aber es funktionierte nicht die Variable $ @ in diese neu erstellte Shell.

Danke,

Dan

Antwort

0

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

[email protected] 
newvar=${tmp%.txt}