2014-10-04 16 views
0

У меня есть следующий скрипт, который я использую регулярно, чтобы полуавтоматизировать один из моих рабочих процессов. открыть Баш терминал и начать IRB, а затем вставьте скрипт:Ошибочно использовать STDIN при вставке скрипта в Terminal.app

require 'highline/import' 

# ... 
user = ask("User:") 
repo = ask("Repository:") 
# ... 
# Do advanced fancy stuff 

Теперь я хочу, чтобы иметь возможность вставить эту информацию в терминал, но первая подсказка для пользователя переписывается в следующей строке: repo = ask("Repository:") ,

Есть ли способ предотвратить такое поведение.

Я знаю, что могу написать сценарий. Но

  1. Я нахожу это удобно, чтобы иметь возможность просто вставьте в терминал
  2. Интересно, как STDIN может быть каким-то образом перехитрил в этом случае
+0

Куда вы вставляете его? ;) Не так ли было бы удобно загружать эти строки? –

+0

@TomFenech Я копирую это из своих заметок. Я часто использую такие фрагменты скриптов, и всегда открыт терминал, когда я работаю над данным проектом. Так что загрузить его с какого-то пути не то, что я хочу ... – Besi

ответ

0

Есть ли способ, чтобы предотвратить это поведение.

Вы можете предотвратить эхо вставляемого текста с помощью команды

stty -echo 

- Вам нравится, что есть ли другой вопрос, так как это неизбежно также предотвращает эхо типизированных в командах, но вы можете увидеть снова после ввода

stty echo