簡體   English   中英

linux查找文件並復制到目錄

[英]linux find files and copy to directory

我嘗試在目錄中查找文件並將其復制到其他地方,這是我的腳本:

#!/bin/bash
# fileSearch

array=(a b c d)

for var in array
do
        find ~/ -name $var* -exec cp {} ./test/ \;
done

我究竟做錯了什么? 他將找不到任何文件...我想可能會帶有引號。

誰能幫我?

謝謝

嘗試這個:

#!/bin/bash
# fileSearch

array=(a b c d)

for var in array
do
    echo $var
done

輸出:

array

換句話說,您只是遍歷一個包含單個單詞“ array”的單詞列表。 正確的版本應擴展數組,並添加$ -symbol(表示引用變量):

#!/bin/bash
# fileSearch

array=(a b c d)

for var in ${array[@]}
do
    find ~/ -name "$var*" -exec cp {} ./test/ \;
done

引用變量也是一個好習慣,即,每當使用$var類的變量時,都應使用"$var" 當變量包含帶空格(或其他“奇怪”符號)的字符串時,這可以避免許多問題,這些空格應視為單個字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM