How to enter a blank line in a terminal without executing the command
How can I enter a new blank line in gnome-terminal / bash without executing the command?
I'm currently using Linux Mint 22.2. I've dabbled with Linux on many previous occasions, but am now trying to use it as my primary OS. I've been a heavy user of the command line in Windows. On Windows powershell (not using the newer Windows Terminal), I've gotten used to experimenting with scripts on the command line, and found it useful to be able to add new lines using <shift><enter>.
However, I cannot figure how to do the equivalent in gnome-terminal / bash.
I've installed dconf-editor and searched through settings it exposes, but haven't found anything that would affect the behavior of enter.
I've also tried using \ to escape the newline, but that also immediately executes, e.g. echo 'cat' \ just immediately prints
cat
\
I'm not sure whether the behavior of <enter> is a function of the emulator (gnome-terminal) or the shell (bash) or some combination of both.
2 answers
I've also tried using \ to escape the newline, but that also immediately executes, e.g. echo 'cat' \ just immediately prints
cat \
This shouldn't be happening. Ending a line with \ in any sh-compatible shell is the standard way to represent a line continuation, per the POSIX Shell Command Language standard. I can't reproduce the behavior you describe in Bash 5.3, either with or without POSIX mode enabled, nor would I expect it to happen in any other version. There is a missing piece of the puzzle here.
0 comment threads
After r~~'s answer, I went through and re-checked everything again.
I had also installed powershell (pwsh) into linux. It appears I forgot I had launched pwsh inside of a gnome/terminal bash session, causing the described behavior of echo 'cat' \.
\ is recognized as line continuation in bash.
` is recognized as line continuation when pwsh is a nested session inside of bash.
In bash, <ctrl>v<ctrl>j allows entering a new line without executing the command, and without an explicit line continuation character. (this doesn't work in a nested pwsh session inside of bash)

0 comment threads