bash脚本编程问题

bash脚本编程问题

为什么猫的肚子里有“:没有那个文件或目录”?

#! /bin/bash
if [ $# != 1 ] ; then  
   echo wrong arg,please input one arg  
   exit 1;  
fi

if grep '^[[:digit:]]*$' <<< "$1";then  
    echo "$1 is number."  
else  
    echo "$1 is not number."
fi

if [ $1 -eq 1 ] ; then
   echo
'
        /\___/\
       /       \
      |  #    # |
      \     @   |
       \   _|_ /
       /       \______
      / _______ ___   \
      |_____   \   \__/
       |    \__/
       |       |
       /        \
      /   ____   \
      |  /    \  |
      | |      | |
     /  |      |  \
     \__/      \__/
'
elif [ $1 -gt 1 ] ; then
echo
'
        /\___/\
       /       \
      |  #    # |
      \     @   |
       \   _|_ /
       /       \______
      / _______ ___   \
      |_____   \   \__/
       |    \__/
'
i=1;
while [ $i -le $1 ]
   do
    echo '       |       |'
    i=`expr $i + 1`
   done
echo '       /        \
      /   ____   \
      |  /    \  |
      | |      | |
     /  |      |  \
     \__/      \__/
'
else
   echo wrong number,please input the right one  
   exit 1;  
fi

答案1

错误出现在这些行中(出现两次):

if [ $1 -eq 1 ] ; then
   echo
'

单引号必须与 位于同一行echo。如果它在下一行,那么它不会被视为参数,echo而是被视为下一个命令。

相关内容