kshのスクリプト:実行bashのような文字の代用品:${@/.txt/}

StackOverflow https://stackoverflow.com/questions/917307

  •  06-09-2019
  •  | 
  •  

質問

私は(それが実行するプログラムの一部があることkshの主張)が残ることがあるkshのスクリプトを持っています。私は、入力引数「のtest.txt」を取り、最後の4つの文字を削除するか、何も「.TXT」を見つけ、交換したい。

bashで、私はどうしたら

NewVar=${@/.txt/}

このはいえkshのでは動作しません。どのように私はkshのに.TXTを取り除くことができますか?私が試した

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

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

おかげで、

ダン

役に立ちましたか?

解決

なぜ使用しないでベース名の?

他のヒント

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

で別のprocの産卵せずにそれを行うことができます
tmp=$@
newvar=${tmp%.txt}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top