Arjun
Arjun

Reputation: 1

I am getting error while executing Linux bash script

I am getting the following error while executing the script in file "handoff":

sh handoff
'andoff: line 5: syntax error near unexpected token `do
'andoff: line 5: `  do

Here is the content of the file:

cat handoff
while [ 1 ]; do
   credencemove
  k=0
  for n in `cat credencemove.txt`
  do
    status[$k]=$n
    k=`expr $k + 1`
  done
  for m in `cat logsequence.lst`
  do
    status[$k]=$m
    k=`expr $k + 1`
  done
   ls -lrt | grep arch_credence_1 | tail -1 | cut -c 68- | tr -d 'ah_.log.gz' | cut -c -5 > credencereceived.txt
  for o in `cat credencereceived.txt`
  do
    status[$k]=$o
    k=`expr $k + 1`
  done
   clear
   tput bold
   echo "         Received Applied Moved"
   echo "         ========================"
   echo " "
   echo " Credence1 -> ${status[6]} \c"
   echo "  ${status[3]} \c"
   echo "  ${status[0]}"
   tput rmso
   echo " "
   echo "Waiting 15 Minuites for applying further logs..."
   echo "Press ctrl + c to exit"
   sleep 900
done

Upvotes: 0

Views: 63

Answers (1)

mob
mob

Reputation: 118685

You have carriage return characters (\r) in your bash script, as if the script were created on a Windows text editor.

Cleanse your script with dos2unix.

Upvotes: 1

Related Questions