在日常的系统管理和自动化任务中,使用 Shell 脚本可以为我们节省大量时间和精力。
文章将以输入 IP
为例,通过几个版本逐步完善一个案例。
原始需求
编写一个交互式的 Shell 脚本,运行时让用户可以输入IP地址,并且脚本会将输入的IP地址打印出来。
实现
首先,在命令行终端下创建一个新的文件,比如 i-demo.sh
,并确保该文件具有可执行权限。
touch i-demo.sh
chmod +x i-demo.sh
版本一
shell 编程中,read 命令可以在运行时阻塞线程,并等待用户输入。因此脚本可以简单实现如下:
#!/bin/bash
read userIP
echo "You entered IP : " $userIP
以上代码中 read
命令用于提示用户输入IP地址,并将用户输入存储在变量 userIP
中。随后,echo
命令用于打印出用户输入的IP地址。
版本二
添加提示符 “Please Input IP:”,使得交互比较友好
#!/bin/bash
read -p "Please Input IP: " userIP
echo "You entered IP: $userIP"
read -p
是 Shell 脚本中用来提示用户输入的命令。它的作用是在用户输入之前,向屏幕上显示一行提示信息,让用户知道他们需要输入什么样的内容。-p
选项表示 prompt(提示),后面紧跟着要显示给用户的提示信息。
版本三
给一个默认值。
#!/bin/bash
defaultIP=127.0.0.1
read -p "Please Input IP: " userIP
if [ -z $userIP ]; then
userIP=$defaultIP
fi