📅  最后修改于: 2023-12-03 15:11:17.265000             🧑  作者: Mango
Bash 是一个 Unix shell 和命令语言,是许多 Unix 系统默认的 shell。Bash 由布赖恩·福克斯创建,第一版发布于 1989 年。Bash 适用于 GNU/Linux、macOS、FreeBSD 和 Windows Subsystem for Linux 等操作系统。
本文将重点介绍 Bash 在标准输入中的应用,并且提供一些实用技巧。
Bash 读取标准输入的方法非常简单,只需要使用 read
命令就可以了。下面是一个例子:
#!/bin/bash
echo "请输入你的名字:"
read name
echo "你好,$name!"
上面的程序要求用户输入名字,然后输出欢迎信息。这个程序可以在终端上执行,也可以将其保存为脚本文件执行。
当我们执行这个程序时,它会等待用户输入名字。用户输入后,按下 Enter
键,程序会打印出欢迎信息。
$ ./hello.sh
请输入你的名字:
John
你好,John!
要退出 read
命令的等待,可以按下 Ctrl + D
。这样程序会继续执行后面的命令。
如果需要读取多个输入,可以使用 read
命令多次。下面是一个例子,在这个例子中我们需要读取用户名和密码:
#!/bin/bash
echo "请输入你的用户名:"
read username
echo "请输入你的密码:"
read -s password
echo "你的用户名是 $username,密码是 $password。"
上面的程序使用了 -s
参数来隐藏输入的密码。
如果用户没有输入任何值,我们可以使用默认值。可以通过设置变量的默认值来实现。下面是一个例子:
#!/bin/bash
echo "请输入你的名字(默认是 Alex):"
read -r name
name=${name:-Alex}
echo "你好,$name!"
上面的程序将变量 $name
的默认值设置为 Alex
。
如果需要在一定时间内等待用户输入,可以设置超时时间。可以使用 -t
参数来设置超时时间。下面是一个例子:
#!/bin/bash
echo "请输入你的名字:"
if read -t 5 name; then
echo "你好,$name!"
else
echo "时间到了,程序退出。"
fi
上面的程序使用了 -t
参数来等待 5 秒,如果在 5 秒内用户输入了名字,程序就会打印欢迎信息;否则程序会打印通知,并退出。
读取标准输入是 Bash 编程中常用和基础的功能之一。上面介绍了 Bash 读取标准输入的使用方法和一些实用技巧。开发者在编写 Bash 脚本时可以使用这些技巧提高效率和功能。