我正在编写脚本以获得有趣的信息,以便更多地了解bash如何工作,而我似乎无法找到一种方法来实现这一点。假设我有一个类似这样的脚本:
#!/bin/bash
echo "Pick an animal!
Cats
Dogs
Birds
Snakes"
read ANIMAL
echo $ANIMAL
现在说我想让它自动完成,所以当您输入S<TAB>
时,它会在Snakes
期间完成read
。我基本上想要制作一个简单的菜单,您可以选项卡完成每个选项。有人知道吗?
答案 0 :(得分:0)
如果你使用bash,read
有一个选项-e
,允许自动完成用户输入:
-e If the standard input is coming from a terminal, readline
(see READLINE above) is used to obtain the line. Readline uses
the current (or default, if line editing was not previously active)
editing settings.
不幸的是,我不知道如何正确设置READLINE
来定制它以提出您的4种可能的动物......因为它是在-e
选项说明中写的,您必须阅读READLINE
部分man bash
,
更具体地说,Programmable Completion
部分内置了complete
bash。或等待更熟练的答案!