Почему терминал Ubuntu не принимает & ldquo; \ & rdquo; персонаж?

Я не могу заставить свою оболочку терминала принимать a \ при вводе ее. Ничего не происходит. Я Googled, но не видел ничего, что, кажется, обращается к этому. Я не знаю, где я начну беспокоиться.

EDIT:

Я могу использовать \ in eclipse, любой текстовый редактор (включая nano или другие инструменты командной строки). Точная команда, о которой идет речь, это:

find -type f -exec chmod -x {} \;    

Если я копирую и вставляю эту строку, символ \ исчезает. Если я попробую и введите его, ничего не произойдет.

Единственное место, в котором это проблема, - это настоящая командная строка оболочки.

Спасибо.

EDIT TWO:

Кажется, быть некоторой путаницей. Если я скопирую приведенную выше команду в свою командную строку БЕЗ ПРЕССА ВВОДА (IE не выполняется) Это то, что находится в моей оболочке:

$find -type f -exec chmod -x {} ;    

Если я затем попытаюсь ввести \, чтобы избежать ; символ не появляется. Если я нажимаю кнопку ввода в любое время, пока эта команда была введена в вышеуказанных обстоятельствах, она НЕ ВЫБРАТЬ, из-за; не было передано в команду.

Редактировать 3:

Я использую GNOME 3.4.1.1 на Ubuntu 12.04 LTS

1
задан 9 September 2013 в 23:23

3 ответа

\ ускользает от любого персонажа, следующего за ним. ; явно завершает команду. \; означает escape ; и передать его команде, которую вы вызываете внутри find (все после -exec. С \ точка с запятой применяется к chmod, тогда как без \ точка с запятой применяется к find.

Ваш терминал распознает \. Когда вы вводите его в своем терминале, вы сообщаете своему терминалу, чтобы он ушел от следующего символа, который вы не предоставляете.

Если вы хотите отобразить \ как символ, избегайте его. Введите \\.

1
ответ дан 24 May 2018 в 18:08
  • 1
    Извините, я не думаю, что вы понимаете. Дело не в том, что я могу войти в команду, и все работает. Эвакуационный персонаж никогда не попадает в терминал. См. Второй раунд изменений. – user2757729 9 September 2013 в 23:06
  • 2
    Ой, извини. Вы используете терминал Gnome? – Jack 9 September 2013 в 23:10
  • 3
    Я нахожусь на ubuntu 12.04, по умолчанию. Я думаю, что это Гном? Как я могу проверить. – user2757729 9 September 2013 в 23:12
  • 4
    В меню нажмите Справка - & gt; Около. – Jack 9 September 2013 в 23:13
  • 5
    Добавлена ​​эта деталь к вопросу как edit 3. – user2757729 9 September 2013 в 23:24

Не знаю, является ли это основной причиной в вашем случае, но я могу воспроизвести подобное поведение, введя эту команду:

stty eof \\

Его можно исправить с помощью:

stty sane
[d2 ] Возможно, вы захотите попробовать последнюю команду, чтобы узнать, исправить ли эту проблему.

0
ответ дан 24 May 2018 в 18:08

Я работаю над «macBook Air» 2015, с «Parallels 11» и виртуальной машиной «Ubuntu». Моя клавиатура - это «сокращенная» беспроводная сеть Apple. Я выбрал «Французский Macintosh» (потому что я французский ...!) Для keybord в МЕНЮ, но в Терминале Ubuntu изначально я не мог создать «\» и «|». Поэтому я перехожу к «Paramètres Système», «Saisie de texte» («text typing»?) И нажмите кнопку «Paramètres du clavier» (параметры клавиатуры) в правом нижнем углу окна. Во втором новом окне я выбираю «Saisie» («Ввод»?), А затем линию «Touche de caractères alternatifs» («Alternate chars Key»?); теперь щелкнув по правому краю этой линии, можно сделать выбор между многими специальными ключами ... В моем случае сначала была выбрана клавиша NO, и я выбрал «Alt Left» для эмуляции обычного действия под Mac OS X. Долго объяснять, но быстро и легко сделать! Гай де Пернон

0
ответ дан 24 May 2018 в 18:08

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

Похожие вопросы: