tcl:执行git命令

时间:2015-12-18 14:45:49

标签: git shell tcl

我想下载我的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命令

1 个答案:

答案 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;不要这样做!)但并非总是如此,其他工具都是如此小心。