我编写的Shell脚本的可用性测试发现,人们对如何回答以“是”为答案的问题抱有不同的期望。请参见下面的代码示例中的变体。
当然,必须有一种更好的方法来解决我的问题?您对此的可读性和简短形式是什么?
read -p 'Answer this question with yes: ' answer
if [ "$answer" = 'Y'
-o "$answer" = 'YES'
-o "$answer" = 'Yes'
-o "$answer" = 'y'
-o "$answer" = 'yes'
-o some-alternate-condition ]; then
echo 'Surely this can be written better?'
fi
2
投票关闭。虽然我对该问题感兴趣,但它可能更多是编程问题,因此应放在SO上。
—
phunehehe 2011年
编程的答案可能类似于Bash:检查数组元素是否存在
—
phunehehe 2011年
@phunehehe:我不同意转向SO,这不仅是因为我们有接受shell编程的历史,而且还因为它不仅是如何执行它的问题,而且还关乎规范的问题。
—
吉尔斯(Gilles)'所以
我曾经写过类似的脚本。然后将该程序翻译成法语和简体中文。我浏览了法语版本,看到提示被翻译为“ Enter oui or non”,但是代码当然仍然想要“ Y *”或“ N *”
—
Ben Jackson