如何暂停或传递Jenkins的答案执行shell脚本

时间:2015-04-15 23:47:21

标签: bash jenkins

这也是一个bash问题。我有一个脚本,当运行./recompile时,它会分别询问3个问题,一次1个。

答案如下:11y

所以我需要jenkins来运行我的脚本,但也要回答问题。

Jenkins有这个执行shell框,我采用它基本上是一个bash脚本入口点。

所以我设置它来执行我的脚本,但我不知道如何模拟答案。

我做了类似的事

./recompile
1
1
y

./recompile && 1 && 1 && y

但它说1不是命令......

我想找到什么bash命令来传递脚本运行后会询问的参数?

修改

当脚本运行时,它应该像这样开始。

    $ ./recompile

Choose the environment to recompile:  1) Dev  2) Stage  3) Prod ? 1
Use Watch mode?y
Will WATCH after dump completed. Use ctrl+c to exit

You are about to recompile Symfony DEV Environment, please verify the following settings:
------------------------------------------
- DEV
- clear cache
- install assets as symlinks
- watch assets, includes force dumping (use ctrl+c to exit)
Ready to run? y

---------------------------
running 

1 个答案:

答案 0 :(得分:1)

您需要redirect STDIN进入您的脚本

$ echo "a
> b
> c" | sh a.sh
a
b
c
a  b  c

使用这种a.sh的bash脚本

#!/bin/bash

echo "a"
read $a

echo "b"
read $b

echo "c"
read  $c

echo "a ${a} b ${b} c ${c}"