linux - 如何在 printf 中传递变量

标签 linux shell unix aix

我试图在 printf 中回显一个变量。我首先使用下面的命令提示用户输入

printf 'Specify lrus [default 128]:         ' ;read -r lrus

接下来它会再次提示用户查看他是否想要上一个问题中使用的输入:

printf 'Are you sure you want $lrus lrus:       ' ;read -r ans

例如,输出将如下所示:

Specify lrus [default 128]:     60
Are you sure you want 60 lrus:  yes

上面的输出是我试图实现的,允许使用 printf 将上一个输入变量传递给下一个问题。

最佳答案

您的问题是您使用的是单引号。单引号内不展开参数。

不过,参数在双引号中展开:

printf "Are you sure you want $lrus lrus: "

请注意,不需要单独打印;最好将 -p 参数用于 read(一方面,它了解您的终端宽度):

read -p "Specify lrus [default 128]: " -r lrus
read -p "Are you sure you want $lrus lrus? " -r ans

关于linux - 如何在 printf 中传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40525869/

相关文章:

linux bash 意外输出 echo

linux - 文本格式化 - sed、awk、shell

shell - 从编译的可执行文件生成 CLI shell 脚本代码?

python - 在 Python 中运行 shell 内置命令

linux - 差异连续行 unix

c++ - 使用 .so 库中的函数而不使用头文件,知道函数签名

linux - 处于断开连接状态的 Teamcity 构建代理

shell - Elastic Beanstalk cron 和部署权限

regex - 带有正则表达式支持的 GNU grep。

unix - ftruncate 第二次失败