#!/bin/bash
date
echo “Input a user name for searching”
read name
if who|grep “$name”
then
echo “Lucky, there is $name in my system now.”
echo “Hi,how are you!” > /var/spool/mail/$name
else
echo “Unlucky, there is not $name in my system.”
fi
这段脚本的作用是通过输入用户名称来检查当前系统中是否存在该用户。如果系统中有该用户,则会向其/var/spool/mail目录中写入一条消息。如果系统中没有该用户,则会输出一个提示。
具体解释如下:
第1行: #!/bin/bash 将脚本解释器指定为 Bash,表示这是一个 Bash 脚本。
第3行: date 命令用于显示当前系统的日期和时间。
第5行: echo "Input a user name for searching" 命令用于输出文本信息,提示用户输入要搜索的用户名。
第7行: read name 命令用来读取用户输入的名称,并将其存储在变量 $name 中。
第9行: if who|grep "$name" 命令使用 who 命令列出当前登录的用户,并使用 grep 搜索 $name 的字符串,判断系统中是否存在该用户。
第10行: 如果步骤9返回true(即存在该用户),则输出 "Lucky, there is $name in my system now." 提示语句。
第11行: 向该用户的 /var/spool/mail 目录中写入一条问候信息"Hi,how are you!"。
第13行: 如果步骤9返回false (即不存在该用户),则输出 "Unlucky, there is not $name in my system." 提示语句。
可以这样修改:
1 2 3 4 |
|
解析: 1. 使用echo
提示用户输入姓名; 2. 使用read
将用户输入的姓名存储到name
变量中; 3. 使用date
命令获取当前时间,并使用+%Y-%m-%d\ %H:%M:%S
格式化时间输出,将括号内的内容放在双引号中,表示将命令执行的结果作为字符串输出; 4. 使用双引号和$符号将name
和当前时间拼接起来,输出到终端上。