📅  最后修改于: 2023-12-03 15:22:00.511000             🧑  作者: Mango
在 Shell 脚本中,我们可以通过标准输入(stdin)来读取用户输入。这种方法在需要从用户获取输入时非常有用。本文将介绍如何从标准输入中读取用户输入。
在 Bash 脚本中,可以使用 read
命令来读取用户输入。以下是基本语法:
read variable_name
variable_name
是你要存储用户输入的变量名。
例如,以下脚本将提示用户输入他们的名字和年龄,并将这些值存储在变量 $name
和 $age
中:
#!/bin/bash
echo "What's your name?"
read name
echo "How old are you?"
read age
echo "Your name is $name and you are $age years old."
以上脚本将输出:
What's your name?
John
How old are you?
27
Your name is John and you are 27 years old.
除了从用户输入中读取标准输入外,我们还可以从管道中读取标准输入。这对于在脚本中处理大量数据时非常有用。
以下脚本将读取 cat
命令的输出,并将其存储在变量 $output
中:
#!/bin/bash
output=$(cat)
echo "The output is:"
echo "$output"
当你运行脚本时,它将等待你输入数据(可以通过键入文本或粘贴文本来实现),然后输出输入的结果。
最后,我们还可以从文件中读取标准输入。也就是说,我们可以将文件的内容作为标准输入传递给脚本。
以下脚本将从文件 input.txt
中读取标准输入:
#!/bin/bash
output=$(cat input.txt)
echo "The output is:"
echo "$output"
以上脚本将将 input.txt
文件的内容打印到终端上。
在 Bash 脚本中,我们可以使用 read
命令来读取标准输入,并使用管道或文件传递标准输入。这对于与用户交互或处理大量数据时非常有用。