2009-05-27 8 views
0

J'ai un script ksh qui doit le rester (certains des programmes qu'il exécute insistent pour être ksh). Je veux prendre l'argument d'entrée "test.txt" et enlever les 4 derniers caractères ou trouver et remplacer le ". Txt" avec rien.

En bash je ferais

NewVar=${@/.txt/} 

Cela ne fonctionne pas dans ksh cependant. Comment puis-je me débarrasser du fichier .txt dans ksh? J'ai essayé

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

mais cela n'a pas fonctionné la variable $ @ dans ce shell nouvellement créé.

Merci,

Dan

Répondre

0

ksh ne vous laissera pas le faire avec $ @ pour, mais si vous attribuez à une variable temporaire, vous pouvez le faire sans fraie un autre proc avec

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