cp
配列を使用して、あるディレクトリから別のディレクトリに2つ以上のファイルをコピーしようとしています。
私は以下を実行しました:
files=(
LocalSettings.php
robots.txt
.htaccess
${domain}.png
googlec69e044fede13fdc.htm
)
ファイル名はテーブルを使用してインデントされます。
私の目標は、次の後に実行することです。
cp -a "source_path/${files[@]}" "/destanation_path"
私の問題は、変数自体をテストすると、ファイルの完全なリストではなく最初の
echo $files
ファイル名のみが返されることです。これをどのように説明しますか?
関連:LocalSettings.php
マルチラインモードcp;
ベストアンサー1
そのBash
機能は次のように説明されていますman bash
。
添え字なしで配列変数を参照することは、添字0を持つ配列を参照するのと同じです。
files
アレイのすべてのメンバーを印刷するには、次の手順を実行します。
echo "${files[@]}"
次のトピックでも説明されていますman bash
。
${name[@]} は、名前の各要素を別々の単語に展開します。