2012-10-18 67 views
0

我正在使用bash腳本將配置文件複製到其相應的目錄。我想輸出已複製到用戶的文件的名稱。以下是我迄今爲止:在Shell腳本中輸出複製文件的名稱

CONFIG_DIR="/home/stackoverflow/app/configs" 
CONFIG_FILE="*.config" 

cp $CONFIG_FILE $CONFIG_DIR 

echo "$CONFIG_FILE was copied to $CONFIG_DIR" 

我從這個得到的輸出是:

*.config was copied to /home/stackoverflow/app/configs 

讓我們假設stackoverflow.config出現在目錄中唯一的config文件,其中腳本運行。我想它說:

stackoverflow.config was copied to /home/stackoverflow/app/configs 
+2

'cp -v'的輸出可能就是你要找的東西。 – Mat

回答

5

要麼添加-v複製,並將它打印所有文件名(每行一個名稱)或將回顯改爲

echo $CONFIG_FILE was copied to $CONFIG_DIR 

即刪除雙引號(在本例中它們不是必需的)。

3

移動引號外$CONFIG,爲了讓shell來擴展它的通配符:

echo $CONFIG_FILE "was copied to $CONFIG_DIR" 
0
CONFIG_DIR="/home/stackoverflow/app/configs" 
for file in *.config 
do 
    cp $file $CONFIG_DIR 
    echo $file was copied to $CONFIG_DIR 
done 
相關問題