[英]Create directory based on date/time and copy files to it?
我正在嘗試創建一個腳本,該腳本將基於當前時間和日期創建一個文件夾。 然后,我需要腳本將文件從源文件夾復制到新創建的文件夾。 然后,我需要它將文件夾從第二個源文件夾復制到原始源文件夾,從而覆蓋其中的所有內容。
下面是我嘗試過的方法,但是它以史詩般的方式失敗了。
#!/bin/bash
d="/home/$(date +%d-%m-%y")"
mkdir "$d"
cp /home/test "$d"
cp /home/test2 /home/test
我知道我不必定義變量,因為副本之間的時間應該是幾秒鍾,而不是一天,但是我想確定地說,我有興趣學習在腳本中使用變量。
這里有一個太多的雙引號:
d="/home/$(date +%d-%m-%y")"
實際上,這里根本不需要引用,這樣編寫:
d=/home/$(date +%d-%m-%y)
在腳本的其余部分中,如果要復制目錄,則需要使用cp -r
而不是cp
。
最后,請注意,當dir2
已經存在時執行cp -r dir1 dir2
時, dir1
將被復制到dir2
,而不是覆蓋其內容。 也就是說,它將創建dir2/dir1
。 如果dir1
不包含隱藏文件,則可以這樣編寫以覆蓋dir2
的內容:
cp -r dir1/* dir2/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.