V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
Actrace
V2EX  ›  git

自动输入用户名和密码更新 Git 私有库的小脚本

  •  
  •   Actrace · Dec 7, 2015 · 3674 views
    This topic created in 3794 days ago, the information mentioned may be changed or developed.
    为了让服务器自动更新代码,写了个自动脚本,不过有一个很奇怪的问题是,手动执行是没问题的..但是如果用 Shell 之类的外部环境调用,似乎就会有问题.

    #!/bin/bash
    CONUSER='public'
    CONPASS='passwd'

    cd /data/web/
    git reset --hard
    expect -c "spawn git pull; expect \"*Username*\" { send \"${CONUSER}\n\"; exp_continue } \"*Password*\" { send \"${CONPASS}\n\" }; interact"
    12 replies    2015-12-08 18:12:47 +08:00
    9hills
        1
    9hills  
       Dec 7, 2015
    为啥不用 key 却用密码?
    Actrace
        2
    Actrace  
    OP
       Dec 7, 2015
    @9hills 这是一个好问题...
    lianz
        3
    lianz  
       Dec 7, 2015
    脱裤子放屁,多此一举。
    设置好 key 认证,一句话就够了: git pull
    odirus
        4
    odirus  
       Dec 7, 2015
    @lianz 好久没看到这么熟悉的语调了,哈哈
    402124773
        5
    402124773  
       Dec 7, 2015
    @Actrace
    把#!/bin/bash 换成#!/bin/expect 看看
    qyz0123321
        6
    qyz0123321  
       Dec 8, 2015
    XY 问题
    dallaslu
        7
    dallaslu  
       Dec 8, 2015
    贴主侬晓得 deploy key 伐?
    Actrace
        8
    Actrace  
    OP
       Dec 8, 2015
    @dallaslu 主要是服务器不支持..
    raysmond
        9
    raysmond  
       Dec 8, 2015 via iPhone
    私有库当然用 key 啊,用什么密码
    haogefeifei
        10
    haogefeifei  
       Dec 8, 2015
    mark 一下,后面这写法我挪到其他地方试试。。
    gamexg
        11
    gamexg  
       Dec 8, 2015 via Android
    还是 key 比较好吧?

    如何为 git 指定 ssh 密钥文件

    http://solicomo.com/linux/how-to-specify-an-ssh-key-file-with-the-git-command.html
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3286 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 00:20 · PVG 08:20 · LAX 17:20 · JFK 20:20
    ♥ Do have faith in what you're doing.