正在编写脚本。例如:
echo "my name is 'read' and am from 'read' city" > outfile.txt
当它运行时,它不会首先打印句子,即我的名字是
。相反,它首先要求为使用的 2 个读取命令输入 2 个输入,然后形成完整的句子,例如“我的名字是 sudhir,我来自 vizag 城市”
我希望脚本执行第一个“我的名字是read(要求输入)
,来自read(要求另一个输入)
城市”,在给出输入后,它应该一次性重定向到outfile.txt。
如何处理这个问题?一句话就能实现吗?
因为我想对一个文件中的 480 个问题使用相同的逻辑,并且没有任何脚本知识的人应该能够引用同一文件中存在的先前问题来添加更多问题。
最佳答案
没有一个很好的方法来做到这一点,因为 read
将换行符从输入写入终端,但我们可以分两次完成此操作。
- 获取用户的输入
- 将结果写入文件
您可以将以下内容放入脚本中
#!/bin/bash
echo -n 'my name is '; read -r name
echo -n ' and I am from '; read -r city
echo ' city'
printf "my name is %s and I am from %s city\n" \
"$name" "$city" > output.txt
对于用户来说,它看起来像这样
my name is sudhir
and I am from vizag
city
但在文件中会是这样的
my name is sudhir and I am from vizag city
关于linux - 如何在echo中使用Read命令,就像填空一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47929582/