📜  从标准输入 bash 脚本读取输入 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:22:00.511000             🧑  作者: Mango

从标准输入 bash 脚本读取输入

在 Shell 脚本中,我们可以通过标准输入(stdin)来读取用户输入。这种方法在需要从用户获取输入时非常有用。本文将介绍如何从标准输入中读取用户输入。

使用 read 命令读取标准输入

在 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 命令来读取标准输入,并使用管道或文件传递标准输入。这对于与用户交互或处理大量数据时非常有用。