2013-10-07 199 views
0

我有一個要求,我必須讀取子目錄的名稱並將名稱複製到文件。以下是我寫的代碼。Shell腳本:For循環意外輸出

for file in $HOME/AutoQA/screenshots/* 
do 
if [ -d "$file" ]; 
    then 
     echo "$file" >> $HOME/AutoQA/FailedTestCases.txt 
    fi 
done 

現在,上面的代碼工作幾乎是完美的,但我得到的輸出是一樣的東西

/home/AutoQA/screenshots/1 
/home/AutoQA/screenshots/2 
...... 

但我希望它是如下

1 
2 
.... 

所以我只需要子目錄的名稱。在運行for循環之前,我不想做

cd /home/AutoQA/screenshots/ 

我該如何管理?誰能幫忙?

+0

或者'/'你的水珠,它會擴展到唯一的目錄名,刪除了'if'聲明的必要性。 – chepner

回答

2

如果添加替換行

echo "$file" >> $HOME/AutoQA/FailedTestCases.txt 

basename "$file" >> $HOME/AutoQA/FailedTestCases.txt 
+0

那個技巧奏效了! – user1305398