Break command "\" not working in Mac Terminal

I am new to Qiime2 and am trying to work through the moving pictures tutorial. I have successfully installed Qiime2 2019.4 (conda on Mac) but I am not able to type in multi-line commands using " \ ". When I type " \ " at the end of a line and press return, the command (?) runs instead of allowing me to add more lines before running. At the top of Terminal it says -bash so I think bash should be working. I tried googling this and searching the forum but I couldn’t find an answer. I’m new to this kind of work so apologies if this is a dumb question!

Thanks!

Hello @ehickman,

Welcome to the Qiime 2 forums! :qiime2:

Oh… these little technical problems can be tricky to solve. It’s probably small that’s ‘right under our nose,’ so let’s start with some simple solutions.

What keyboard layout does your mac have? If it’s North American english, the \ key is under the delete key and above the return key. The key has two symbols on it, like this:

   |
   \

What does happen when you type conda list \? Here is what I see:

WE36352:~ bris469$ conda list \
> 

So that final > means I can keep typing more before the command runs. What do you see when you run that command?

I hope these suggestions are not too obvious! I wanted to start small before getting more technical.

Colin

When I type conda list \ I see a > on the next line the same as you. Not at all obvious, thanks for the suggestion! However, when I use \ in the tutorial, I don’t get > on the next line, it just runs the command.

And yes, I have the standard keyboard with the | \ key below delete and above return!

A couple thoughts, @ehickman
The \ is an escape character in BASH, and escapes only one following character. It allows you to create a line break without running a command, because it’s telling the system to ignore the ‘line feed’ character created by the enter key.

If you are typing these commands manually, be sure there are no spaces after the \.
If you are copy-pasting these commands from a file built on a Windows system, that may be the source of the problem. Windows uses two characters (‘carriage return’ and ‘line feed’) to indicate line breaks.

If this is your situation, you may be escaping only the first of those two characters when you hit enter, and the unescaped ‘line feed’ may be telling the shell that it’s time to run the command.

Hope this helps!
Chris

5 Likes

@ChrisKeefe That was it! I had tried a combination of typing it in and copying from the internet but must have been adding a space after when I typed it. Thank you, wow I feel silly.

3 Likes

Woooo! I knew it would be something small.

Great troubleshooting, folks. Glad we fixed it.

Colin

2 Likes