0

関数でbashを使用してURLのファイル名を削除することについて少し混乱しています。これは私が書いたものですが、私はこれに不慣れであり、私がそれを正しく行ったかどうかを理解することはできません。

function file_download()
{
    filename={$1##*/}
    tar xzf $filename

}

file_download "http://www.url.com/test.zip"

「$1」を引用符で囲む必要がありますか?

4

2 に答える 2

2

は式の外にある必要$あります。

filename="${1##*/}"

これtest.zipにより、期待どおりになります。それ以外の場合は、{http://www.url.com/test.zip##*/}代わりに取得します。

于 2012-09-24T09:29:40.453 に答える
1

basenameこれには次のものを使用する必要があります。

filename="$(basename "$1")"

そうすれば、をダウンロードしようとしても、意味のない空の文字列になってしまうことはありませんhttp://www.example.com/

于 2012-09-24T11:56:32.300 に答える