如何从文本文件获取输入并将其用作Shell脚本中的变量?

时间:2018-10-29 09:49:50

标签: linux shell

我想在脚本中插入将从文本文件中读取的值(字符串)。

例如:我有shell脚本

#!/bin/bash  
echo "Enter your name:"  
read name  
echo "...and now your age:"  
read age    

# example of how to use the values now stored in variables $name and $age  
echo "Hello $name. You're $age years old, right?"  

和输入文件(称为input.in)

Priya  
26  
Thomas  
44  

1 个答案:

答案 0 :(得分:0)

如果您打算从文件中读取输入,那么该脚本实际上不应该打印提示。就个人而言,我强烈建议您完全删除提示,但是如果您要使用它们,请至少写:

test -t 0 && printf  'Enter your name: '

或(如果您的read支持)read -p

由于您的输入包含多个记录,因此看起来像您想要的:

while 
    read -p 'Enter your name: ' name \
    && read -p 'Enter your age: ' age
do
    echo "Hello $name. You're $age years old."
done