3
A
回答
0
我不是很了TCL(再)來加速
你會拿到劇本的名稱作爲$argv0
我會簡單地套用功能/公用事業realpath
隨後dirname
得到它的目錄
2
4
當腳本執行直接合並,您可以使用:
set theDir [file normalize [file dirname [info script]]]
這必須在腳本的頂層或namespace eval
(你應該使用variable
而不是set
技術原因)內運行。特別是,它不應該被放置在一個過程中,並在稍後被調用,因爲到那時爲止,info script
調用將返回其他內容。因此,典型的包執行腳本可能是這樣的:
namespace eval ::samplePackage {
variable theDir [file normalize [file dirname [info script]]]
source $theDir/foo.tcl
source $theDir/bar.tcl
load $theDir/grill[info sharedlibextension]
package provide samplePackage 1.0
}
如果這是主要的應用程序,也可以代替info script
使用$::argv0
。這不會改變整個代碼的運行(除非你手動設置它)。如果通過相對符號鏈接調用腳本
+0
'file normalize'在那裏,以便您可以安全地使用'cd'命令。如果您從不更改進程當前的工作目錄,則不需要它。 –
0
file normalize [file dirname [info script]]
將無法可靠地工作。我用它來緩解可能出現的問題:
proc script_dir {} {
set r [info script]
if {![catch {file link $r} symlink]} {
set r [file join [file dirname $r] $symlink]
}
return [file dirname [file normalize $r]]
}
相關問題
- 1. Powershell腳本獲取目錄樹的FullName
- 2. 獲取shell腳本的目錄的父目錄
- 3. nAnt腳本需要獲取父目錄
- 4. 獲取目錄動態與python腳本
- 5. PowerShell腳本獲取目錄總大小
- 6. 獲取bash腳本文件所在的目錄
- 7. Bash腳本 - 如何獲取腳本目錄,以便它在Cron運行
- 8. 無法在當前目錄中獲取腳本
- 9. Unix - 如何在一個目錄中獲取多個shell腳本?
- 10. 在Xcode構建腳本中獲取用戶目錄
- 11. 如何獲取腳本中的vbscript文件的目錄
- 12. 命令行.cmd/.bat腳本,如何獲取運行腳本的目錄
- 13. 如何使用perl腳本獲取目錄的屬性?
- 14. 獲取git工作目錄根的腳本?
- 15. 如何獲取java腳本代碼的根目錄?
- 16. 獲取批處理腳本中特定路徑的父目錄
- 17. Shell腳本在目錄
- 18. 當目錄在.zip存檔時如何獲取目錄信息?
- 19. Python:腳本目錄
- 20. LINQPad腳本目錄?
- 21. 獲取內存信息的腳本
- 22. 腳本的父目錄
- 23. 獲取測試:太多的參數錯誤,同時檢查在shell腳本中的目錄的存在
- 24. 獲取FreeSpace可從不存在的目錄路徑中獲得
- 25. 在批處理腳本中獲取文件父目錄的全名
- 26. 獲取創建的目錄路徑,並在腳本中使用它
- 27. 用於在目錄中獲取文件的Shell腳本到命令行
- 28. 操作在目錄中的Windows腳本
- 29. 如何讓python腳本編寫不存在的目錄?
- 30. 運行存儲在Rails目錄結構中的PHP腳本
操作系統偏執。真棒。 –
誰是這個「我們」的蒼白臉? ;-) – TrojanName
當然我們所有的思想正確的人;) –