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

アップデート:

これは最終的にあなたが望むものです

質問が 1 つある場合:

./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 に答える