简体   繁体   中英

How can I paste multiple line command with Docker interactive mode but not evaluating?

For example I am opening an interactive command line window.

docker exec -it container rails c

When I paste a multiple-line command, it evaluate every line instead of pasting a block. How can I configure it as not to evaluate?

Order.last
     .user
     .id

Ah, simple trick here: type begin + enter, paste the code, type end :

begin
  Order.last
       .user
       .id
end

It cannot and should not be configurable. The reason is that the console cannot posisible know when you have finished typing the whole command, as the first line is a completely valid ruby statement. Things are slightly different if you adapt different coding style:

Order.last.
      user.
      id

The code above will work once copied to console (but gosh, I really hate that style.) because it is clear to the interpreter that the statement is not completed yet - similarly to missing closing bracket or quote. Wrapping the code in begin / end have the same effect - it tells the interpreter that the code is not yet completed, so it awaits for the final end .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM