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

次の行にエラーが 2 回表示されます。

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

一重引用符は同じ行になければなりませんecho。次の行にある場合は、パラメータとして扱われず、次のechoコマンドで処理されます。

おすすめ記事