【问题标题】:bash confirm dynamic valuesbash 确认动态值
【发布时间】:2018-02-22 23:17:01
【问题描述】:

我有一个 bash 脚本,说 test.sh,在手动执行时说 sh test.sh。首先它会问y/n,然后如果我给是,它会再次问y/n,第二个是,它会要求我给一个server host-name,一旦我再次给出主机名,它就会要求一个一系列y/n,终于顺利完成了。我很想知道如何像静默安装一样自动化。

我试过echo y | sh test.sh... 但问题在于,对于服务器主机名,它也给出了y

【问题讨论】:

  • 它不是重复的.. 这里的值是动态的.. 请在评论之前正确阅读 qn
  • @Pesa我重新打开了这个问题,随时添加 sn-p 作为答案。 gosatrini:我错过了您必须提供服务器名称作为输入的部分

标签: bash


【解决方案1】:

你可以这样使用:

{ cat <<'EOF'
y
y
Some hostname
EOF
yes; } | ./test.sh

或使用yes / echo 代替此处的文档:

{ yes | head -n 2; echo "Some hostname"; yes; } | ./test.sh

【讨论】:

  • 嗨 pesa 是否可以这样做 { a = server1 cat
  • @gosatriani 是的,您需要做的就是删除 EOF 周围的引号,然后变量将被扩展或使用第二个代码:)
  • @gosatriani 确保=: a=server1 周围没有空格。
  • @gosatriani 为什么在这里使用变量?
猜你喜欢
  • 2018-01-23
  • 1970-01-01
  • 1970-01-01
  • 2017-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-17
相关资源
最近更新 更多