我想下载我的git repo unsing tcl。 我用这个proc
proc download_git_repo {} {
global git_rev git_path
exec git clone https://github.com/bitcoin/bitcoin.git $git_path/bit_git
}
但是我找不到目录bit_git,看来命令exec与git不能正常工作!
我用exec做其他命令它工作正常
如何在shell中使用tcl
来执行git命令答案 0 :(得分:1)
最可能的选择是您不在您认为自己的目录中。当你去编写脚本时,这很容易出错;例如,直接从GUI调用的程序往往会在与您期望的完全不同的位置运行。
我建议将您要传入git clone
的值写入变量,然后将其记录到某处:
proc download_git_repo {} {
global git_rev git_path
set theLocation $git_path/bit_git
puts "working dir: [pwd]\nlocation: $the_location"
# Use this instead if inside a Tk script:
# tk_messageBox -message "working dir: [pwd]\nlocation: $the_location"
exec git clone https://github.com/bitcoin/bitcoin.git $the_location
}
就像那样,你可以准确地看到你真正给予git的东西。我建议确保它是一条绝对的道路;那些不意外。
虽然Tcl非常小心地正确处理文件名中的空格(除非你eval
;不要这样做!)但并非总是如此,其他工具都是如此小心。