Choose your language

Choose your login

Contact us

Blog

SOLVED: ‘syntax error near unexpected token `do’

I’m Jason, your friendly neighborhood junior QA (Quality Assurance) here at PaperCut. This is the story about the time I solved “syntax error near unexpected token `do”.

Settle in - it’s a page-turner! Or wheel scroller. Or perhaps finger-dragger?

I had to capture a large number of example spool files on MacOS for analysis. The easiest way to do this is to:

  • pause the CUPS print queue
  • print to it
  • copy the spool file
  • resume the printer.

Given PaperCut’s a vendor neutral kind of company, I was doing this across a large number of printer and copier brands. That meant I had more than a couple of print queues (ok, I had dozens), and doing this manually was not the smart thing.

So I wrote a simple script:

#!/bin/bash

# Check for disabled print queues

if \[ -z $(lpstat -p | awk '/disabled/ {print $2}') \] &> /dev/null;
then
   	echo "\\tNothing to do."
   	exit
else
   	echo "Processing:"
   	for printer in $(lpstat -p | awk '/disabled/ {print $2}')
   	do
          	cupsenable "$printer"
echo "\\tEnabled $printer"
done
fi

Except when I ran it, I received the following error:

home/jason/cups-disable-all.sh: line 10: syntax error near unexpected token do

I’ll admit it, I spent quite a bit of time checking my syntax for errors (it’s right there in the error message!) only to find out it was my choice of text editor that caused me grief.

My primary workstation is a Windows laptop; my target machine is MacOS. When editing on Windows, I had Windows Line Endings (CR+LF) not Unix Line Endings (LF).

A quick change in Notepad++ and my script ran without problems:

Edit -> EOL Conversion -> Unix (LF)

Here’s hoping this little tip will help out future junior QAs at PaperCut and elsewhere!

We’re often on the lookout for new QAs and all sorts of tech types. Visit the PaperCut careers page to see if there’s something that takes your fancy.

{{< form heading_text=“Never miss the news!” heading_hierarchy=“h4” heading_style=“h4” form_id=“9490723c-5f62-447c-bb91-fd6054902440” terms_dropdown=true >}}

Newsletter

Subscribe for the latest in print management and product updates!

By filling out and submitting this form, you agree that you have read our Privacy Policy, and agree to PaperCut handling your data in accordance with its terms.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.