我在 Unix 中写了这个脚本:
function addinfo {
echo "Please enter your LAST Name: "
read last
echo "Please enter your FIRST Name: "
read first
echo "Please enter your PHONE number as XXX-XXX-XXXX: "
read phone
if [ $phone != ???-???-??? ]; then
echo "Please only enter your as XXX-XXX-XXXX"
read phone
else
echo $last + $first + $phone >> asg7phonebook
if
}
我收到与最后一个括号相关的错误代码。
- bool 条件可以在 Unix 函数中工作吗?
- 如何让我的功能检查用户是否输入了
XXX-XXX-XXXX
(其中“X”是他们的电话号码)作为有效号码输入?我想阻止用户输入23435-3422
2 作为他们的号码或 1234567890 作为他们的号码。 - 我的语法正确吗?
最佳答案
我发现您的方法存在一些问题,
#!/usr/bin/env ksh
addinfo() {
echo "Please enter your LAST Name: "
read last
echo "Please enter your FIRST Name: "
read first
echo "Please enter your PHONE number as XXX-XXX-XXXX: "
read phone
# Using a while loop on the correct pattern check.
while [[ "$phone" != [0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] ]]
do
echo "Please enter your PHONE number as XXX-XXX-XXXX (only): "
read phone
done
echo $last + $first + $phone >> asg7phonebook
}
addinfo
关于linux - 用于检查电话号码的函数内的 Unix KornShell 脚本 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23507194/