是否可以在git foreach中执行读取?
git submodule foreach 'read -p "test"; echo $REPLY'
根本不起作用,因为read从git本身获取输入 - 这是objname和hash。 有没有机会以交互方式阅读控制台?
答案 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
...