У меня есть вопрос в Баш:проверки состояния затем ответить на вопросы авто
Это способ проверить условия, то автоматически отвечать на вопросы, как то, что произошло в heredoc
?
Я знаю два способа, которые мы можем автоматически отвечать на вопросы (делая примеры по passwd
команды):
1) трубопроводов
<password> | passwd <username>
2) heredocs
passwd <username> <<EOF
<password>
<password>
EOF
Теперь, вопрос :
Как можно поставить условие, чтобы ответить на них ///
if [ `passwd` -eq 0 ]; then
<<EOF
<password>
<password>
EOF
fi
, например, это не представляется возможным, любая идея?
#!/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
<<EOF
ok
EOF
elif [ $? -ne 0]; then
<<EOF
failed
EOF
fi
heredocs
и piping
или любые другие решения приветствуются,
Я хочу в первую очередь проверить условия после этого быть в состоянии ответить на вопросы
Благодарности
Вы спрашиваете: «Как можно поставить условие ...». Вы не можете запустить команду и получить ее статус выхода ($?), А затем отправить дополнительный ввод этой команде, потому что по определению ее статус выхода недоступен до тех пор, пока он не выйдет - в этот момент его слишком поздно отправить ничего лишнего. –
Это не то, что я спросил ... это то, что я хочу: сначала запустить команду после этого, если она была истина (она задает вопрос), а затем проверить условие, после чего автоматически ответьте на это ... – MLSC
Если вы являетесь автоответчиком вопрос, который запросила программа, программа должна будет продолжать читать ваш ответ - в этом случае его статус выхода не будет доступен. –