bash select循环不起作用

时间:2016-08-20 23:59:54

标签: linux bash

我正在努力学习bash。在一些教程中,我找到了select循环。但它不适用于我的MAC OS或Linux。我的代码是这样的:

double *

我使用./test.sh来调用此程序,结果如下:

#!/bin/bash
names="Kyle Cartman Stan Quit"
PS3="Select character: "
select name in $names
    do
    echo "name="$name
done

似乎无法检测到我的输入。 有谁可以帮助我?

1 个答案:

答案 0 :(得分:3)

代码很好;它的用法是错误的:允许的条目是config.conversation.historyService.activityItems.added(function(newMsg) { if(typeof newMsg.direction != 'function') {} else { if(newMsg.direction() == 'Incoming') { direction = "black"; } else if(newMsg.direction() == 'Outgoing' && newMsg.status() === "Succeeded") { direction = "green"; } else {} $("#conversationText").append('<br/><div class="chat-user-info"><h1 class="chat-user-name">' + newMsg.sender.displayName() + '</h1><h2 class="chat-user-time">' + new Date() + '</h2></div><div class="chat-user-message"><h3 style="color:' + direction + ';">' + newMsg.text() + '</h3></div><br/>'); } }); 123,而不是4Kyle,{{1} },或Cartman。 (如果用户必须输入整个名称,那么将数字放入是什么意思?)

空字符串告诉您用户输入的内容无效。相反,观察:

Stan

顺便说一下 - 它应该是:

Quit

...或...

1) Kyle
2) Cartman
3) Stan
4) Quit
Select character: 1
name=Kyle
Select character: 3
name=Stan

...不...

# SAFE: quotes everything
echo "name=$name"

请参阅Wooledge wiki上的When Should You Quote?,或养成通过http://shellcheck.net/运行代码的习惯,这会发现这种问题。