[問題] FTP規劃及ShellScript如何使用包含空白的變數
問題是這樣的
我架了個FTP,使用pureftpd,作業系統是Ubuntu 9.10。目前FTP的目錄
是這樣規劃的:
硬碟及資料目錄
sda3:
/ftp
sdb1:
/ftp/sdb1/Animation
/ftp/sdb1/Drama
/ftp/sdb1/Europe
/ftp/sdb1/Asia
/ftp/sdb1/English A-S
sdc1:
/ftp/sdc1/English T-Z
使用者(虛擬帳號)目錄:
/ftp/home/alpha
/ftp/home/beta
/ftp/home/charlie
規劃上想要讓使用者只能在家目錄下活動,所以使用了chroot(),再使用pureftpd
支援的symbolic link(ln -s)將各別的資料目錄連結到各別的使用者家目錄下。又
想說既然支援symbolic link的話,因為資料頗多可以弄個分類,這樣使用者要找
東西也比較好找,所以關於各別使用者的家目錄規劃如下(以alpha為例):
/ftp/home/alpha/Drama
/Animation
/Movie by Language(原始目錄已經有語言分類)
/Movie by Alphabet(就是複製全部到這裡面讓他依照字母排序)
/Movie by Decades(以資料夾最後的年份排序)
/Movie by IMDb(尚未想到,想說在年份後面再加上#1,#2或許吧)
另外說明一點,關於資料夾名稱大致如下:
Saw I 奪魂鋸一 (2004)
The Wrestler 力挽狂瀾 (2008) (DVD)
おくりびと 送行者:禮儀師的樂章(2008)
風聲 (2009)
有英文中文日文,也沒有固定的欄位,大致上是原文片名、中文片名、年份,但是
有的會有多一些符號像是":"、"-"或是像Saw I 奪魂鋸 I (2004)沒有固定的空格。
現在的想法是做一個依照上述分類的sample資料夾,之後再複製到各個使用者家目
錄。現在問題在我想要自動化管理,也就是寫script來做相關的事情。
結果第一步就遇到問題了。就是變數名稱(也就是資料夾名稱)有許多空格,執行
的時候會到空格就停住了,但是echo $name是可以顯示出空格的。可是這個包含
空格的$name拿給test用或是ln -s用就會到空格就停住而出現錯誤。
我想這裡強者很多,應該很多人會遇到使用空格當資料夾名稱的問題,版上搜尋
有找到兩篇,但是我也是用read跟while卻不行。如果真的不能使用空格當資料夾
名稱的話...那我只好把空格取代成別的符號了(linux這麼強大應該可以吧!),
這一步沒先解決的話,之後想要寫新增資料夾同步到各別的使用者家目錄或是其他
事情都沒辦法做了。
以下附上script寫法,請各位強者解答!先謝過了!
# Set all movie directory
Asia=/ftp/sdb1/Asia
Europe=/ftp/sdb1/Europe
EnglishT=/ftp/sdb1/English\ T-Z
EnglishA=/ftp/sdc1/English\ A-S
Alpha=/ftp/dir_sample/Movie\ by\ Alphabet
for dir in $Asia $Europe $EnglishT $EnglishA
do
ls $dir | while read name
do
test -e $dir/$name || ln -s $dir/$name $Alpha/$name
done
done
--
花繁柳密處撥得開方見手段
濃雲密霧中看得見才是本領
風狂雨急時站得住才是功夫
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.101.50
推
03/05 18:51, , 1F
03/05 18:51, 1F
→
03/05 18:51, , 2F
03/05 18:51, 2F
→
03/05 18:51, , 3F
03/05 18:51, 3F
→
03/05 19:01, , 4F
03/05 19:01, 4F
→
03/05 19:01, , 5F
03/05 19:01, 5F
→
03/05 19:14, , 6F
03/05 19:14, 6F
→
03/05 19:14, , 7F
03/05 19:14, 7F
→
03/05 19:15, , 8F
03/05 19:15, 8F
→
03/05 19:54, , 9F
03/05 19:54, 9F
→
03/05 20:44, , 10F
03/05 20:44, 10F
→
03/05 20:45, , 11F
03/05 20:45, 11F
→
03/05 20:45, , 12F
03/05 20:45, 12F
→
03/05 20:47, , 13F
03/05 20:47, 13F
→
03/05 22:08, , 14F
03/05 22:08, 14F
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章