KornShell (ksh):使用读取输入或默认值

KornShell (ksh): Use read input or default value

我想使用 KornShell 询问用户输入,如果没有输入则使用默认值。当然,如果他输入了一些东西,它应该使用输入的值。

到目前为止我的脚本:

echo "Choose a script to start"
read input?"Start Script: "

默认值应该在问题旁边,像这样:

Start script: [script1]

KornShell 对我来说是个新东西,但我对它很感兴趣,想了解它。

你没有提到默认值是什么,或者你想如何管理它(例如,作为一个变量,作为一个静态字符串)。

有很多方法可以处理输入;一个简单的例子...

脚本(wanna_play):

$ cat wanna_play
#!/bin/ksh

dflt='spider'

echo "Choose a script to start"
read input?"Start Script: [${dflt}] "

[[ "${input}" = '' ]] && input=${dflt}

echo "Entered: ${input}"

还有几个样本运行:

$ wanna_play
Choose a script to start
Start Script: [spider]
Entered: spider

$ wanna_play
Choose a script to start
Start Script: [spider] freecell
Entered: freecell

我建议您进行一些网络搜索以学习 ksh ... Internet 上有很多有用的信息;一本不错的入门书:O'Reilly: Learning the Korn Shell