I learning how to use git on a Mac and I'm trying to add a file in one of my branches by using the "cat > " command. The problem I'm having is that I want to end editing the file in the terminal but I do not know how to close it. I'm guessing that I need to change "modes" for lack of a better term. How do I proceed?
-
3cat is not a text editor! Are you trying to be a masochist? xkcd.com/378– Lie RyanOct 11, 2010 at 22:57
-
I wouldn't rely on it all the time, but I don't see a problem doing that if all you want is to create a 2- or 3-line script. That's easier than firing up a text editor.– Charles BurgeNov 30, 2016 at 22:51
-
If you are in a limited environment with no text editor (e.g., testing something inside a container with no root privilege), then you can use it as last resort.– IctusFeb 8, 2021 at 12:35
2 Answers
Type Ctrl+D at the start of a new line. ^D
is the "end of file" character when typed from a keyboard.
Note that the ^D
character itself is not entered into the file. The file ends just before the point where you type ^D
.
-
The Enter shouldn't be pressed on Unix-based systems (though MacOS might be an exception?); this isn't DOS where you have to press Enter after ^Z. You may need to press ^D a second time if you aren't already at the start of the line, though. Oct 11, 2010 at 22:53
-
Indeed. Why did I think you needed to press Enter? Fixed, thanks. Oct 11, 2010 at 22:56
-
at the start of a new line
- because per POSIX, a line that doesn't end in a newline... isn't actually a line, so a file containing one isn't formally a text file. Oct 2, 2016 at 13:46