kshのスクリプト:実行bashのような文字の代用品:${@/.txt/}
質問
私は(それが実行するプログラムの一部があることkshの主張)が残ることがあるkshのスクリプトを持っています。私は、入力引数「のtest.txt」を取り、最後の4つの文字を削除するか、何も「.TXT」を見つけ、交換したい。
bashで、私はどうしたら
NewVar=${@/.txt/}
このはいえkshのでは動作しません。どのように私はkshのに.TXTを取り除くことができますか?私が試した
bash -c 'NewVar=${@/.txt/}'
が、それは、この新しく作成されたシェルに$ @を変数に動作しませんでした。
おかげで、
ダン
解決
なぜ使用しないでベース名の?
他のヒント
kshが、あなたが$ @にそれをやらせないだろうが、あなたは一時変数に割り当てる場合は、
で別のprocの産卵せずにそれを行うことができますtmp=$@
newvar=${tmp%.txt}
所属していません StackOverflow