Provided by: manpages-zh_1.5.1-1_all bug

NAME

       filename - Tcl 命令支持的檔名轉換
_________________________________________________________________

INTRODUCTION

       所有接受檔名作為參數的    Tcl   命令和   C   過程希望檔名是依賴於當前-
       台的三種形式之一。在每種孕x上,Tcl                         都支持這種-
       台上的標準形式的檔名。額外的,在所有孕x上,Tcl       支持一種      Unix
       式的語法,提供了一種方便的方式來構造簡單的檔名。但是,打算被移植的稿本不-
       n假定特定形式的檔名。可移植的稿本必須使用   file  splitfile  join
       命令來操縱檔名(詳見file 的手冊條目)。

| PATH TYPES
       基於用來指定檔案的路徑的起點,檔名被組織成三種一般類型:
       絕對,相對,相對-卷。絕對名字是完全-
       定的(qualified),給出的到檔案的路徑相對於一荅S定的卷和在這-
       茖髐W的根目錄。相對名字是未-
       定的,給出的到檔案的路徑相對於當前的工作目錄。相對-卷名字是部分-
       定的,給出的路徑n麼相對在當前卷上的根目錄,-
       n麼相對於在指定卷上的當前目錄。使用   file    pathtype    命令來確定一-
       茧鼎w路徑的類型。

|yk PATH SYNTAX
       本地名字的規則依賴於在 Tcl 數組元素 tcl_platform(platform) 中報告的:

       mac       在  Apple  Macintosh  系統上,Tcl  支持兩種形式的路徑名。常規
                 Mac
                 式樣的名字使用分號作為路徑分隔符。路徑可以是相對的或絕對的,並且檔名中可以包含除了分號之外的任何字符。一-
                 茷e導的分號導P路徑的剩餘部分被解釋成相對當前目錄。如果一-
                 虒纁|包含一茪ㄕb開始處的分號,則路徑被解釋成一-
                 茧晶儭纁|。在路徑中任何地方的兩茤峖h-
                 茪戲鼓漣C被用做構造相對路徑,這裏的                      ::
                 參照當前目錄的父目錄,::: 參照父目錄的父目錄,以此類推。

                 除了  Macintosh  式樣的名字,Tcl  還支持   Unix   式名字的一-
                 茪l集。如果一虒纁|不包含分號,則把它按一                Unix
                 路徑來解釋。使用斜槓作為路徑分隔符。檔名  .  參照當前目錄,而
                 ..         參照當前目錄的父目錄。但是,像         //..的一些名字沒有映射,並被作為                     Macintosh
                 名字解釋。一般的,生成檔名的命令返回                Macintosh
                 式樣的名字,而接收檔名的命令接受    Macintosh     和     Unix
                 式樣的兩種名字。

                 下列例子展示不同形式的路徑名:

                 :              到當前檔案夾(folder)的相對路徑。

                 MyFile         到在當前檔案夾中的叫               MyFile的一-
                                蚗仵蛌漪蛫儭纁|。

                 MyDisk:MyFile  到在叫    MyDisk    的設備上的一茈s     MyFile
                                的檔案的絕對路徑。.

                 :MyDir:MyFile  到在當前檔案夾中的一茈s MyDir的檔案夾中的一茈s
                                MyFile 的檔案的相對路徑。

                 ::MyFile       到在當前檔案夾的上層檔案夾中的一茈s     MyFile
                                的檔案的相對路徑。

                 :::MyFile      到在當前檔案夾的上兩層檔案夾中的一茈s   MyFile
                                的檔案的相對路徑。

                 /MyDisk/MyFile 在叫     MyDisk     的設備上的一茈s     MyFile
                                的檔案的絕對路徑。

                 ../MyFile      到在當前檔案夾的上層檔案夾中的一茈s     MyFile
                                的檔案的相對路徑。

       unix      在                      Unix                       孕x上,Tcl
                 使用的路徑名的組成部分由斜槓來分隔。路徑名可以是相對的或絕對的,並且檔名可以包含除斜槓之外的任何字符。檔名
                 ...   是特殊的並且分別參照當前目錄和當前目錄的父目錄。多-
                 茯s接的(adjacent)的斜槓被解釋為一-
                 茬璊@的分隔符。下列例子展示不同形式的路徑名:

                 /              到根目錄的絕對路徑。

                 /etc/passwd    到在根目錄中的   etc   目錄中的一茈s    passwd
                                的檔案的絕對路徑。

                 .              到當前目錄的相對路徑。

                 foo            Relative  path  to the file foo in the current
                                directory.

                 foo/bar        到在當前目錄中的一茈s foo 的檔案的相對路徑。

                 ../foo         到在當前目錄中的目錄  foo  目錄中的一茈s   bar
                                的檔案的相對路徑。

       windows   在   Microsoft   Windows   孕x上,Tcl   支持相對驅動器和  UNC
                 式樣的名字兩者。/\
                 二者都可用在兩種類型的名字中做分隔符。相對驅動器的名字由可選的驅動器指定符(specifier)和隨後的絕對或相對的路徑組成。UNC
                 路徑依從                     \\servername\sharename\path\file
                 的一般形式。在兩種形式中,檔名         ...
                 是特殊的並且分別參照當前目錄和當前目錄的父目錄。下列例子展示不同形式的路徑名:

                 \\Host\share/file
                                到在主機 Host 上的導出點 share 的根目錄中的一-
                                茈s file 的檔案的絕對 UNC 路徑。

                 c:foo          到在驅動器   c    上的當前目錄中的一茈s    foo
                                的檔案的相對卷的路徑。

                 c:/foo         到在當前卷上的當前目錄中  foo  目錄中一茈s bar
                                的檔案的絕對路徑。

                 foo\bar        到在當前卷上的當前目錄中 foo  目錄中一茈s  bar
                                的檔案的相對路徑。

                 \foo           到在當前卷的根目錄中的一茈s                foo
                                的檔案的相對卷的路徑。

iu TILDE SUBSTITUTION
       除了上z檔名規則之外,Tcl 還支持 csh  式樣的波浪線替換。如果一蚗犰W以一-
       茠i浪線開始,則按檔名的第一-
       茪葛應Q給定使用者的主目錄的位置所替換來解釋。如果波浪線之後立即跟隨著一-
       茪戴j符,則用         $HOME         環境變量來替換。否則在波浪線和下一-
       茪戴j符之間的的字符被接受為一-
       茖洏峈怞W,它被用來檢索用於替換的使用者的主目錄。

       Macintosh           和           Windows          不支持對波浪線跟隨一-
       茖洏峈怞W的波浪線替換。在這些孕x上,使用波浪線並跟隨一-
       茖洏峈怞W的嘗試將生成一蚇欞~。有一茠i浪線而沒有使用者名的檔名將像  Unix
       一樣使用 $HOME 環境變量來替換。

nI PORTABILITY ISSUES
       注意所有的檔案系統都是大小寫敏感的,所以稿本應避免依賴於在檔名中的字符大小寫的代碼。額外的,在不同設備上允釭漲r符集可能不同,所以稿本稿本應選擇不包含特殊字符如
       <>:"/\|  的檔名。最安全的方式是只使用由字母組成的使用者名。還有 Windows
       3.1 只支持有不多於8茼r符的根和不多於3茼r符的擴展的檔名。

r KEYWORDS
       current directory, absolute file  name,  relative  file  name,  volume-
       relative file name, portability

 SEE ALSO
       file(n), glob(n)

[]
      Hhh

[]
       2001/08/28

m Linux manUpn:
       http://cmpp.linuxforum.net