1

次のbash関数があります:

function tpc()
{
    cp $1 .dosbox/TP/BIN/
    dosbox -c "TPC.EXE $1"
    rm .dosbox/TP/BIN/$1
    #rm .dosbox/TP/BIN/$(basename $1 .pas).EXE
}

主な目的は次のとおりです。

tpc "file.pas"

次に、「dosbox」でコンパイルし、パスの「file.pas」を削除し.dosboxます。しかし、「.exeファイルを削除する」という別のことをしたいです。問題は次のとおりです。tpc file.pasターボパスカルがコンパイルされFILE.EXE.dosbox/TP/BIN/$(basename $1 .pas).EXE「file.EXE」を削除しようとしています。問題は、「大文字の.exeファイルを削除するにはどうすればよいですか?

4

3 に答える 3

2

おそらくあなたはこれを行うことができます:

function tpc()
{
    cp "$1" .dosbox/TP/BIN/
    dosbox -c "TPC.EXE $1"
    rm ".dosbox/TP/BIN/$1"
    REMOVE=${1^^} REMOVE=${REMOVE##*/} REMOVE=${REMOVE%.???}.EXE
    rm ".dosbox/TP/BIN/$REMOVE"
}

使用されるメソッドの詳細については、パラメーター展開を参照してください。

于 2013-09-02T16:06:46.803 に答える