请教下,如果函数入参“$1”表示第一个参数,那么请看如下代码:
#!/bin/sh
yes_or_no() {
echo "Is your name $1 ?"
while true
do
echo -n "Enter yes or no: "
read x
case "$x" in
y | yes ) return 0;;
n | no ) return 1;;
* ) echo "Enter yes or no: "
esac
done
}
echo "Original parameter are $"
if yes_or_no "$"
then
echo "hi $1,nice name!"
else
echo "never mind"
fi
exit 0
输入如下:./testfunction.sh Will Backins
按照我的理解正确的输出为:
Original parameter are Will Backins
Is your name Will ?
Enter yes or no: yes
hi Will,nice name!
但是实际的输出是:
Original parameter are Will Backins
Is your name Will Backins ?
Enter yes or no: yes
hi Will,nice name!
不明白echo "Is your name $1 ?"里面的$1 不是代表第一个参数吗?那不应该是will吗?
请大家帮忙指导下,谢谢!