2011-05-04 40 views
3

是否可以在git foreach中執行讀取操作?git submodule foreach:執行讀取

git submodule foreach 'read -p "test"; echo $REPLY' 

完全不起作用,因爲read從git本身獲取輸入 - 這裏是objname和hash。 有沒有機會互動閱讀控制檯?

+0

+1對於漂亮的屏幕名稱 – sehe 2011-05-04 20:18:07

回答

1

如果您將輸入/輸出重定向到/dev/tty,則可以。當你做這種事情時,你需要先檢查一下tty是否可用isatty based methods

例如,創建一個./test.sh像這樣

exec </dev/tty >/dev/tty 
read -p "Enter text:" VALUE 
echo "got: $VALUE" 

然後

git submodule foreach ../test.sh 

會做正確的事情,例如在我的測試中

[email protected]:~/custom/MONO$ git submodule foreach ../test.sh 
Entering 'cecil' 
Enter text:a 
got: a 
Entering 'glib' 
Enter text:b 
got: b 
Entering 'gtk-sharp' 
Enter text:c 
got: c 
...