gpt4 book ai didi

linux - 检查条件然后自动回答问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:20:57 28 4
gpt4 key购买 nike

我有一个关于 bash 的问题:

这是一种检查条件然后自动回答问题的方法,就像 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
欢迎使用

heredocspiping 或任何其他解决方案,

我想先看条件再回答问题

谢谢

最佳答案

也许用 expect 命令?

http://www.thegeekstuff.com/2010/12/5-expect-script-command-line-argument-examples/

由于我不熟悉 mdadm,这里有一个 FTP 的小例子。您可以看到它会根据服务器的响应执行不同的操作 - 我认为这就是您尝试执行的操作。

  # Connect to the FTP server using the "spawn" command.
spawn ftp $hostname

# Wait for a login prompt.
expect -re "(Name|login|Login|Username).*:.*" {

# Login prompt received. Send username to server.
exp_send "$username\r"
exp_send_user "sent username\n"
} eof {

# No login prompt received. Display an error.
exp_send_user "could not connect\n"
}

关于linux - 检查条件然后自动回答问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21826390/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com