git submodule foreach:执行read

时间:2011-05-04 20:08:42

标签: git git-submodules

是否可以在git foreach中执行读取?

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

根本不起作用,因为read从git本身获取输入 - 这是objname和hash。 有没有机会以交互方式阅读控制台?

1 个答案:

答案 0 :(得分:1)

如果您将输入/输出重定向到/dev/tty,则可以。当您执行此类操作时,您将首先检查isatty based methods是否可以使用tty。

例如,像这样创建一个./test.sh

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

然后

git submodule foreach ../test.sh

做正确的事,例如在我的测试中

sehe@meerkat:~/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
...