Вставка нескольких строк в терминал прерывается после определенных команд

Например, я вставляю в свой терминал следующее (с новой строкой в ​​конце):

pwd
adb doesnotexist
ls
​

Все трое бегут. Второй выходит с ошибкой. С другой стороны, вставляя это:

pwd
adb shell pwd
ls
​

останавливается на adb и не продолжает вставлять или выполнять ls,

  1. Какой механизм работает здесь, чтобы прервать вставку?
  2. Как я могу переопределить это?

1 ответ

Решение

Я думаю, что это происходит потому, что вы запускаете эти команды в терминале, а некоторые команды мешают конфигурации терминала. Например, когда sudo запрашивает пароль, он очищает буфер терминала, поэтому вы не можете предварительно ввести пароль: вы не можете сделать sleep 5; sudo lsзатем введите свой пароль во время sleep, То же самое с rm просить подтверждения.

Я могу получить тот же эффект с:

ls
script -c ls -f /dev/null
pwd

Это значит, что если я вставлю их мышью в Konsole, pwd не будет запущен. Здесь вторая команда, безусловно, портит конфигурацию терминала, что заставляет меня думать, что adb shell (но, вероятно, нет abd doesnotexist).

Другие вопросы по тегам