Korn Shell 脚本入门
2008-08-20 08:18:43 来源:WEB开发网清单 7. 针对有效和无效 AIX 命令,如何设置 $?
$date
Sat May 10 00:02:31 EDT 2008
$echo $?
0
$uptime
12:02AM up 259 days, 10:47, 5 users, load average: 4.71, 10.44, 12.62
$echo $?
0
$IBM
ksh: IBM: not found.
$echo $?
127
$aix
ksh: aix: not found.
$echo $?
127
$ls -l /etc/password
ls: 0653-341 The file /etc/password does not exist.
$echo $?
2
在编写 Korn Shell 脚本时,这是非常有价值的,因为它向您提供了另一种检查错误的方式。下面是用于检查 /etc/passwd 文件是否存在的另一种不同的方式:
#Begin Code
PASSWORD_FILE="/etc/passwd"
ls –l $PASSWORD_FILE > /dev/null 2>&1
这个命令允许您列出该文件。然而,您并不是真的在意这个文件是否存在。对于您来说,重要的是获得该命令的返回代码。大于符号 > 允许您对该命令的输出进行重定向。在本文稍后的内容中,您将了解更多有关重定向输出的信息。
清单 8 显示了如何在脚本中使用 $?。
清单 8. 在脚本中使用 $?
#Begin Code
PASSWORD_FILE="/etc/passwd"
ls –l $PASSWORD_FILE > /dev/null 2>&1
if [[ $? != 0 ]]; then
print “$PASSWORD_FILE was not found"
exit
else
for username in $(cat $PASSWORD_FILE | cut -f1 -d:)
do
print $username
done
fi
更多精彩
赞助商链接