コピー時にファイル拡張子を削除する

コピー時にファイル拡張子を削除する

非常に単純な質問なのですが、どうしても理解できません。次のコマンド ラインについて:

for foo in *.dist; do cp $foo `basename $foo .dist`; done

現在のディレクトリにある拡張子が .dist であるすべてのファイルを取得してコピーし、同じ手順で .dist 拡張子を削除することはわかっています (Ubuntu Server での OTRS のインストールに関する wiki の投稿から取得しました)。なぜこれが行われるのか理解したいだけです。

どうもありがとうございます。

答え1

からman basename

NAME ベース名 - ファイル名からディレクトリとサフィックスを削除します

概要 basename 名前 [サフィックス] basename オプション

説明 先頭のディレクトリ コンポーネントを削除した NAME を出力します。指定されている場合は、末尾の SUFFIX も削除します。

つまり、コマンドbasenameはこれを実行します

関連情報