Starkers
Starkers

Reputation: 10531

How do I Quit IRB from the command line? (Using terminal on mac)

Basically, I'm typing along just fine in terminal, using IRB to run ruby commands:

2.0.0-p0 :014 > bank_account.withdraw(2222)
 => -1222 

But sometimes I accidentally miss out a quotation mark.

2.0.0-p0 :020 > BankAccount.create_for("Jim","Johnson)
2.0.0-p0 :021"> bank_account.withdraw(333)

If you look carefully, you'll see that the speech mark I missed out appears next to the line number on the left, next to the patch version.

From here on in, that speech mark appears everytime I run a command! And it stops the commands working:

2.0.0-p0 :021"> BankAccount.create_for("Julian","Hurley")
2.0.0-p0 :022"> BankAccount.create_for("Katt","Smith")
2.0.0-p0 :023"> exec($0)

What I want to know is, how do I get rid of that quotation mark? Or quit IRB from the command line in order to reset it?

Upvotes: 28

Views: 49724

Answers (5)

Roy Tinker
Roy Tinker

Reputation: 10152

If you're in the middle of a multi-line block (according to the interpreter), hit Ctrl+C to break out of it.

Then you can do any of the following to quit:

  • exit (or exit())
  • quit (or quit())
  • irb_exit (or irb_exit())
  • Ctrl+D (sends the EOF character)

Upvotes: 0

muttonlamb
muttonlamb

Reputation: 6491

If you haven't closed a quote, just put a quote in and hit return.

Exiting from the console can be done by typing exit, though in the circumstance your are would need to hit Control - C

Upvotes: 43

UrbanDev
UrbanDev

Reputation: 183

I was having the same problem. To exit irb within the terminal, type exit.

Upvotes: 17

qknowswhat
qknowswhat

Reputation: 331

Use Ctrl-D, it is an end-of-input for irb. If you are in the middle of some command, use Ctrl-C first to terminate the input of this command.

Upvotes: 7

S E
S E

Reputation: 437

Control - C followed by Control - Z. I hope it helps!

Upvotes: 18

Related Questions