linux - 读取命令选项在旧操作系统 Linux 上不可用。还有什么其他命令允许默认值

标签 linux bash shell input

我们有超过 500 台运行着各种操作系统的 Linux 主机; 使用默认输入提示用户的读取命令不适用于 soem,但适用于其他人。

是否有一个命令可以在所有这些不同的操作系统中使用以允许默认输入

2.6.32-504.el6.x86_64  = Works


2.6.18-348.6.1.el5   = Does not work 

旧读物中没有 I 选项。 read [-ers] [-u fd] [-t timeout] [-p prompt] [-a array] [-n nchars] [-d delim] [name ...]

我主要是想给用户选择在提示时覆盖默认值,但如果他们不想,我想采用默认值

example:

read -e -p "Enter Your Name:" -i "Allesandra" N

你们都可以提供替代方案吗? 谢谢

最佳答案

大多数 shell 中的一个未充分利用的功能是能够为未设置的变量提供默认值。

read -e -p "Enter Your Name:" N
: ${N:=default}

但是,如果您在不支持 -i 的版本上阅读了 ... -i ...,我希望您会得到一个错误。

健康教育

关于linux - 读取命令选项在旧操作系统 Linux 上不可用。还有什么其他命令允许默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33829843/

相关文章:

email - 捕获和邮寄 bash 脚本错误

linux - Bash:如何计算?

xml - Linux,Curl,发送不带 xml 文件的 -X POST

linux - 基本内核模块的 Makefile

c - ltrace 的替代方案,它适用于与 `-z now` 链接的二进制文件?

linux - 如何在我的 shell 脚本中包含 html?执行 shell 脚本时可以得到 html 格式的输出吗?

git - 使用绝对路径获取 Git repo url

linux - GNUPLOT:无效的表达?

linux shell 脚本获取文件夹中 <particular name> 的 <latest file>

java - 如何从基于 Java 的代码运行 shell 脚本