1

我正在编写一个脚本来安装阵列 raid5。当脚本询问时插入 auto=yes 时遇到问题:是否要继续创建数组。我试过 --auto=yes (http://www.linuxmanpages.com/man8/mdadm.8.php),但很不确定该放在哪里。

#!/bin/bash
mdadm mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdc1 /dev/sdd1 /dev/sde1 --spare-devices=1 /dev/sdf1

if [ $? -eq 0 ]; then
    echo OK
else
    echo FAIL
fi
4

1 回答 1

3

1) 您可以使用HEREDOC来解决此类问题。

例如对于passwd命令:

#!/bin/bash
passwd user <<EOF
mypassword
mypassword
EOF

您还可以运行脚本并输入heredoc

./script <<EOF
>yes
>yes
>no
>EOF

更新:

这终于是你想要的

如果您有一个问题:

./script <<EOF
>yes
>EOF

您还可以:

#!/bin/bash
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdc1 /dev/sdd1 /dev/sde1 --spare-devices=1 /dev/sdf1 <<EOF
yes
EOF

2) 还有另一种解决方案:

yes | command-that-asks-for-input

或者,如果需要大写“Y”:

yes Y | command-that-asks-for-input
于 2014-02-17T08:37:36.547 回答