真是个神奇的现象~
linux c programming 里 有这么个程序
#!/bin/sh
yes_or_no() {
echo "Is your name $* ?"
while true
do
echo -n "Enter yes or no: "
read x
case "$x" in
y | yes ) return 0;;
n | no ) return 1;;
* ) echo "Answer yes or no"
esac
done
}
echo "Original parameters are $*"
if yes_or_no "$1"
then
echo "Hi $1, nice name"
else
echo "Never mind"
fi
exit 0
执行后的结果很有意思
$ ./func.sh pp hh
original parameters are pp hh
Is this your name pp ?
Enter yes or no:y
0 Hi pp, nice name
$ ./func.sh pp hh
original parameters are pp hh
Is this your name pp ?
Enter yes or no:n
1 Never mind
return值为0 进入then 1 进入else
也就是说在shell 里,真值为0 假值为非0
跟c正好相反