1、编写一个脚本,由用户输入姓名,年龄,邮箱。例:姓名:laowang 年龄:30 邮箱:12345@qq.com # 如果年龄不输入,默认为20岁。
脚本要求 1、只能用root执行 2、脚本只能放在/opt目录下才能被执行 3、当用户输入的年龄大于18岁,输出欢迎光临信息,否则输出,请尽快退出。
欢迎光临信息:
姓名:laowang
年龄:30
邮箱用户名:12345
#!/usr/bin/bash
if [[ $UID -ne 0 ]];then
echo “请用root用户执行”
#!/usr/bin/bash
if [[
U
I
D
−
n
e
0
]
]
;
t
h
e
n
e
c
h
o
"
请
用
r
o
o
t
用
户
执
行
"
e
x
i
t
1
f
i
d
i
r
=
UID -ne 0 ]];then echo "请用root用户执行" exit 1 fi dir=
UID−ne0]];thenecho"请用root用户执行"exit1fidir=(cd $(dirname $0 ) ; pwd)
if [
d
i
r
!
=
′
/
o
p
t
′
]
;
t
h
e
n
e
c
h
o
"
请
在
/
o
p
t
/
下
执
行
"
e
x
i
t
1
f
i
r
e
a
d
−
p
"
请
输
入
姓
名
:
"
n
a
m
e
r
e
a
d
−
p
"
请
输
入
年
龄
:
"
a
g
e
r
e
a
d
−
p
"
请
输
入
邮
箱
:
"
m
a
i
l
n
a
m
e
=
dir != '/opt' ];then echo "请在/opt/下执行" exit 1 fi read -p "请输入姓名:" name read -p "请输入年龄:" age read -p "请输入邮箱:" mail name=
dir!=′/opt′];thenecho"请在/opt/下执行"exit1firead−p"请输入姓名:"nameread−p"请输入年龄:"ageread−p"请输入邮箱:"mailname={name:=‘匿名’ }
if [[ ! $age -gt 0 ]]; then
age=20
fi
mail=echo $mail | grep '@'
if [[
m
a
i
l
=
"
"
]
]
;
t
h
e
n
m
a
i
l
=
"
邮
箱
地
址
不
合
法
"
e
l
s
e
m
a
i
l
=
mail = "" ]]; then mail="邮箱地址不合法" else mail=
mail=""]];thenmail="邮箱地址不合法"elsemail={mail%@*}
fi
xinxi="
姓名:KaTeX parse error: Undefined control sequence: \n at position 6: name \̲n̲ ̲年龄:age \n
邮箱:$mail \n
"
if [[
a
g
e
−
l
t
18
]
]
;
t
h
e
n
e
c
h
o
"
请
尽
快
退
出
"
e
l
s
e
e
c
h
o
−
e
"
age -lt 18 ]]; then echo "请尽快退出" else echo -e "
age−lt18]];thenecho"请尽快退出"elseecho−e"xinxi"
fi