2012-07-29 73 views
0

我想要監視某些文件/目錄以及爲了備份歷史而將任何更改提交到git倉庫。git auto-commit的scipt:奇怪的路徑警告

的組件包括:

  • 一個Git倉庫,配置了變量「worktree」她指着我的家目錄
  • 與被監控的所有文件/顯示目錄列表的文本文件
  • 與git的命令的bash腳本添加和更改提交
  • 一個cronjob運行腳本

autocommit.s H:

#!/bin/bash 

set -o nounset 
set -o errexit 

for path in `cat list.txt`; do 
    git add "$path" 
    git commit -am "autocommit" 
done 

LIST.TXT:

. 
~/bcg/credentials.txt 

如果我運行./autocommit.sh與credentials.txt修改,我得到下面的輸出

~/bcg/credentials.txt 
fatal: pathspec 'bcg/versioned/~/bcg/credentials.txt' did not match any files 

然而,變化承諾。 這個「致命」警告是什麼意思?

+0

在crontab中我不會用「〜」刪除〜/ BCG,因爲它是一個bash主義和可能不支持由更像sh的貝殼。 – 2012-07-29 12:27:50

+0

這與現代Ubuntu安裝與默認cron配置有關嗎?如果不是,我不在乎。我不需要可移植性,這隻需要在我的個人電腦上工作。 – 2012-07-29 12:29:58

+0

當RHES將bash改爲/ bin/sh時,很多人都被燒燬了。 – 2012-07-29 13:58:57

回答

0

中的cronjob也許更改爲:

22 * * * *  cd ~/bcg && versioned/autocommit.sh 2>> err.log 

而且從LIST.TXT

+0

這是一個問題bcs某些被監視的文件不在bcg目錄 – 2012-07-29 13:09:12

+0

我發現問題不是cronjob特定的,因此我編輯了我的問題以進行簡化。 – 2012-07-29 13:19:04