简体   繁体   中英

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

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 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM