藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月26日 11:18


請教如何取目錄名稱給變量?

各位前輩,我想編寫一個腳本,將一個目錄下的一層目錄名稱通過循環方式輸出給變量.
比如目錄/bak下面有d1,d2,d3,d4目錄,將這幾個目錄如何輸出給變量呢?

請各位高手不吝賜教.不勝感激

請教如何取目錄名稱給變量?

:cry:

請教如何取目錄名稱給變量?

for FILE in `l -ltr |awk '{print $9}'`
   do
    if test -d $FILE
       then echo $FILE
       else  echo $FILE is not directory
    fi
   done


其他的自己寫

請教如何取目錄名稱給變量?

我試試看,謝謝啦,致敬!

請教如何取目錄名稱給變量?

我把樓上大哥的程序寫到一個腳本裡,執行時出現line 1: l: command not found?
請問樓上大哥

請教如何取目錄名稱給變量?

呵呵,謝謝拉!

請教如何取目錄名稱給變量?

我在hpux  ksh 環境下測試了,是通過了的。

請教如何取目錄名稱給變量?

dirvar=`find /path -type d`

請教如何取目錄名稱給變量?

請問怎麼把輸出的結果分開呢?

請教如何取目錄名稱給變量?

很精簡,但我不喜歡用 find   :)

請教如何取目錄名稱給變量?

那個循環只能對一層目錄有效,對2層以上是否可以再次調用呢?我實驗了一下好像不行
for FILE in `ls -ltr |awk '{print $9}'`
  do
   if test -d $FILE
      then
           echo enter dictrory $FILE...
           cd $FILE
                   for FILE in `ls -ltr |awk '{print $9}'`
                    do
                       if test -d $FILE
                       then
                           dir=$(find ../restore -name $FILE)
                           echo restore $FILE .....
                           echo $PWD
                           echo restore $FILE succeed.
                        else  echo $FILE is not directory
                    fi
                    done
     else  echo $FILE is not directory
   fi
  done
第二次調用時原來第一層的目錄除了第一個都被認為是非目錄了...有解決方法嗎?

請教如何取目錄名稱給變量?

[code]
find `pwd` -type d -print |
  while read FILE
  do
    echo restore $FILE .....
    (以下省略)
  done
[/code]

請教如何取目錄名稱給變量?

難道要我把代碼全寫了?

請教如何取目錄名稱給變量?

-->
改為ls

請教如何取目錄名稱給變量?

[code]#!/bin/bash
var_dir=$(ls)
for dir in $var_dir
do
      cd $dir
      cmd ........
      cmd  ...........
      cd ..
done[/code]

請教如何取目錄名稱給變量?

`l -ltr |awk '{print $9}'`

是什麼意思?

請教如何取目錄名稱給變量?

不能遍列整個目錄及子目錄:(

請教如何取目錄名稱給變量?

謝謝大家了,其實一層目錄遍歷也可以寫出程序,只是麻煩了點,多層目錄如何遍歷呢?

請教如何取目錄名稱給變量?

-->
ls -ltr顯示出來時間格式不一樣
如:
ls -ltr
-rw-r-----    1 smmsp    smmsp       12288 2004-07-01  aliases.db
-rw-r--r--    1 root     root          288 2004-07-05  crontab
drwxr-xr-x    2 root     root         4096 2004-10-11  profile.d
drwxr-xr-x    3 root     root         4096  4ÔÂ 25 22:11 squid
-r--------    1 root     root         5353  4ÔÂ 26 17:56 shadow-
-r--------    1 root     root         1110  4ÔÂ 26 17:56 gshadow-
-rw-r--r--    1 root     root         1266  4ÔÂ 26 17:56 group-
-rw-------    1 root     root            5  4ÔÂ 26 17:56 gshadow.lock
可以這樣麼?
ls -l --time-style +"2005-05-13"|grep ^d
drwxr-xr-x    3 root     root         4096 2005-05-13 vfs
drwxr-xr-x    2 root     root         4096 2005-05-13 vsftpd
drwxr-xr-x    2 root     root         4096 2005-05-13 w3m
drwxr-xr-x   17 root     root         4096 2005-05-13 X11
drwxr-xr-x    2 root     root         4096 2005-05-13 xinetd.d
drwxr-xr-x    2 root     root         4096 2005-05-13 xml

請教如何取目錄名稱給變量?



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com