我正在编写一个脚本来安装阵列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
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