2009-05-27 88 views
0

我有一个ksh脚本必须保持如此(它运行的某些程序坚持使用ksh)。我想输入参数“test.txt”并删除最后4个字符或查找并替换“.txt”。

在bash,我会做

NewVar=${@/.txt/} 

这并不在KSH工作,虽然。我如何摆脱ksh中的.txt?我试过

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

但它没有将$ @变量用于这个新创建的shell。

感谢,

回答

4

为什么不使用basename

+0

+1另一个PROC,你钉它:) – dwc 2009-05-27 18:44:24

0

KSH不会让你以$ @做到这一点,但如果你把它分配给一个临时变量,你可以不用产卵与

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