У широкому зображенні, яке відображається:
....
...cd maldetect-* &&␠|<-window boundary
bash ./install.sh
(символ перед вертикальною смугою - HTML ␠)
або unicode char U + 2420 (символ для простору).
Цей простір повинен бути там. Якщо межі вікна не було,
тоді лінія буде:
...cd maldetect-* && bash ./install.sh
Якщо ви не мали місця, & amp; & amp; не було б місця
між ним і початком слова «Баш» - який не повинні боляче, якщо ви працюєте в bash, але це тільки 1 приклад .. тобто, звичайно, ви б мали простір між подвійним амперсандом і простором.
Якщо ваші пробіли повинні бути там, що може бути причиною ваших проблем ...
ARG! Ви вставляєте цю "в" ... bash ... Uh oh ...
Якщо ви вставляєте у bash, bash є "помилковим" (це питання думки) для вставки через зміни автозаповнення, зроблені кілька років тому. Якщо у вашому вставленому тексті є якісь "TAB" (yup, відступ), це призведе до виклику функції "автозаповнення" bash (я скаржився на це, але мені сказали, що ніхто не вкладає текст у bash ... кашель , кашель ) (скаржиться на список 'bug-bash@gnu.org', хоча я сумніваюся, що це буде виправлено в будь-який час найближчим часом). Коли він викликає автозаповнення - багато разів він проковтне наступний символ вашого вставленого тексту, оскільки він задає запитання:
> ls <'complete-key' pressed>
Display all 199 possibilities? (y or n)
Як правило, це пошкоджує вставлений текст. Раніше це не було проблемою для мене, так як мої вкладки зазвичай знаходяться на порожніх рядках (тому що вони є відступним кодом). Раніше існувала можливість ігнорувати натискання клавіші завершення коду на порожньому рядку (@ початок рядка або коли тільки ті прогалини передують, де він натискається). Це було змінено, щоб проігнорувати лише символ завершення у порожніх рядках команд (не порожній рядок tty). Вставлення декількох команд у вхідні дані зазвичай розглядаються як bash як якась продовжена команда - НЕ порожній командний рядок. Зайве говорити, що це викликає багато проблем.
Недосконалим рішенням для мене було перепризначення ключа завершення коду з TAB
до Backquote (" ") (above tilde key). (same bug occurs if you have
у вашому тексті, але для мене я використовую це значно рідше, ніж TAB). Він встановлюється у файлі ".inputrc" вашого домашнього каталогу, який керує тим, як "readline" (використовується bash для читання ліній, дозволу редагування тощо). Зокрема, розділ у моєму ".inputrc" має опції конфігурації, специфічні для bash:
$if bash
# use backquote as completion (yes, that's shift-'~')
# not ideal, but quickest "hack" to get mostly
# transparent pasting (backquote isn't used nearly as often as TAB)
TAB:tab-insert
"`":complete
$endif
Альтернативи: 1) конвертувати всі вкладки в пробіли перед вставкою, тому TAB не запускатиме завершення команди. 2) завжди пишіть текст у файл і
джерело (.) файл або зробити його виконуваним і додати '#! / bin / bash' на 1-й рядок, щоб зробити його скриптом оболонки.
Теоретично ви також повинні мати можливість завершити завершення команд, але я використовую його занадто багато, тому ніколи не намагалися спробувати.
Те, що я зазвичай роблю зараз, це редагувати скрипт у 1 вікні (зазвичай gvim), а у вікні, де я почав gvim, я запускаю послідовні ітерації сценарію - таким чином уникаючи 'вставляти'. Звичайно, це був не мій перший вибір, але корумпований вхід bash, ковтаючи речі після повного ключа, підштовхнув мене в цьому напрямку.
Зауважте, якщо ви повідомляєте про це як про помилку, будьте готові запропонувати рішення! ;-) Це руб:
> ls \<carriage return>
>> [here people want to be able to hit 'TAB' and get an autocomplete of
of the files in the current directory. It looks like an empty line,
but it is a really a continued command line from the previous line.
Те ж саме відбувається, коли ви вставляєте команди в bash ... деякі будуть мати вкладки, де ви їх не хочете ...
(Ps Сподіваюся, що це допоможе, і я не зовсім увійшов у ліве поле, але коли ви згадали "вставлення", і це виглядає як bash-script ... подібно до тієї самої проблеми, в якій я зіткнувся.
Використання зворотного відбитка як повної клавіші іноді трохи незручно, але занадто часто буде мати вкладки в вставленому тексті ...