2009-05-27 7 views
0

私はkshスクリプトを残しておく必要があります(実行するプログラムの中にはkshを主張するものがあります)。私は、入力引数 "test.txt"を取って最後の4文字を削除するか、 ".txt"を見つけて何も置き換えないでください。 bashで

私はこれはしかしkshのでは動作しません

NewVar=${@/.txt/} 

を行うだろう。 kshで.txtを取り除くにはどうすればいいですか?試しました

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

しかし、この新しく作成されたシェルには$ @変数が機能しませんでした。

おかげで、

ダン

答えて

4

basenameを使用しないのはなぜ?

+0

+1で別のprocの産卵せずにそれを行うことができ、あなたはそれを釘付け:) – dwc

0

kshが、あなたが$ @にそれをやらせないだろうが、あなたは一時変数に割り当てた場合、あなたは

[email protected] 
newvar=${tmp%.txt} 
関連する問題