bash script programação questão

0

Por que o estômago do gato tem ": nenhum arquivo ou diretório"?

#! /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
    
por Yunong 26.11.2014 / 17:19

1 resposta

2

O erro está nessas linhas (que ocorrem duas vezes):

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

A aspa simples deve estar na mesma linha que echo . Se estiver na linha seguinte, ele não será tratado como argumento para echo , mas como o próximo comando.

    
por 26.11.2014 / 17:26