私は本当に新しくbashを使用しています。ディレクトリ内のすべての画像をループして個別に別のディレクトリにコピーするスクリプトを作成しようとしています。私は構文に精通していないので、私が間違っていることを実際に理解することはできません。コマンドライン引数を使って別のディレクトリに画像をコピーするbash
func()
{
FILES=$1
FILES+=/*.jpg
for f in $FILES
do
echo "$f"
cp "$f" $2
done;
}
func $1 $2
私は script ./images ./test
のような引数を入力した場合には、
/images/image1.jpg
/images/image2.jpg
としてすべての画像をエコー表示など、実際にはテストディレクトリにコピーではないです。どのような問題が起こる可能性がありますか?
なぜ 'cp * .jpg/path/to/destination_dir /'ではないのですか? (あなたのファイル名にスペースがない限り)。 'cp'はそのように動作するように設計されています。あなたは 'man cp'と打ち込んでcmd-lineからオンライン文書を読むことができるかもしれません。がんばろう。 – shellter
実際には、私はあなたのコードを試して、期待どおりに働いた。 2 jpgファイルをテストフォルダにコピーしました。 'test'フォルダが存在する場所でコードを実行していない可能性がありますか? – Esref
私に確認していただきありがとうございます。私はそれをサーバー上で実行していて、ディレクトリーは適切に再表示されませんでしたが、実際は機能していました。ありがとう! – Taylor