Bash

從我的 bash 腳本中選擇 cli 菜單選項

  • May 18, 2022

我正在執行一個 bash 腳本,但是當它進入一個必須進行選擇的菜單時,程序會凍結我知道,對於 YES,我可以在我的命令中使用 -y,但在以下情況下:

  1. 我需要從選項列表中選擇/輸入一個數字
  2. 輸入姓名或電子郵件

我怎樣才能做到這一點?

奇怪的是,大多數搜尋結果都返回瞭如何使用 bash 創建菜單,而不是如何讓腳本輸入選擇/值。

您可以只通過管道傳輸帶有命令答案的文本:

printf "bot\nn\nJava" | ./questions.sh

或者expect像這樣使用:

#!/usr/bin/expect -f

set timeout -1
spawn ../4/questions.sh

expect "Your name: "
send -- "expect\n"

expect "Are you human?\r
y/n: "
send -- "n\r"

expect "What is your favorite programming language?\r
Your answer: "
send -- "Java\r"

expect eof

更多資訊在這裡 https://www.baeldung.com/linux/bash-interactive-prompts

引用自:https://serverfault.com/questions/1101192