Акцентированные ключи не работают правильно

TL; DR: эти команды, похоже, не делают то, что вы, вероятно, намереваетесь.

Если вы пытаетесь сделать at выполнить apt-get purge phpmyadmin -y с bash за 2 минуты, тогда ваш код не будет делать то, что вы хотите.

Команда слева от канала (|) имеет ваш документ здесь в качестве стандартного ввода. Эта команда даже не запускается до тех пор, пока оболочка не прочитает ваш полный документ.

From 3.6.6 Здесь Документы в Справочном руководстве Bash:

Этот тип перенаправления инструктирует оболочку прочитайте ввод от текущего источника до тех пор, пока не появится строка, содержащая только слово (без конечных пробелов). Все строки, считываемые до этой точки, затем используются в качестве стандартного ввода (или дескриптора файла n, если n задано) для команды.

Команда с документом здесь - это, по сути, только одна команда, которая должна быть полностью прочитана оболочкой перед ее выполнением. В вашем коде оболочка считывает ввод до тех пор, пока PMA_UNINSTALL не появится на отдельной строке. Как только это произошло, оболочка затем использует содержимое документа здесь как дескриптор файла 50 для команды bash /dev/fd/50.

Эта команда даже не запускает новый экземпляр bash до тех пор, пока здесь документ был полностью прочитан. Когда bash запускается, он выполняет эту команду:

apt-get purge phpmyadmin -y

Поскольку вся левая сторона канала TL; DR: эти команды, похоже, не делают то, что вы, вероятно, собираетесь использовать. имеет стандартный выход, подключенный к at, вход at получает выход bash, который является выходом apt-get purge phpmyadmin -y. at затем пытается интерпретировать этот вывод, а не вашу команду apt-get, но его вывод - как список команд для выполнения в /bin/sh.

Так что это почти наверняка не то, что вы

Я не уверен, почему вы не получили приглашение оболочки сразу после ввода этого кода. Когда я запускаю его на тестовой машине, я получаю приглашение оболочки через пару секунд. Если вы хотите отладить это, вы можете попробовать запустить apt-get purge phpmyadmin -y интерактивно в bash. Как написан ваш код, эта команда полностью запускается output at возвращается в оболочку (а до at может планировать что угодно). Однако, вероятно, было бы нецелесообразно отлаживать этот конкретный код.

0
задан 26 June 2012 в 21:58

7 ответов

Недавно 12.04 была введена ошибка в обработке клавиатуры. Обходной путь - использовать следующий код в терминале:

setxkbmap "en","fr"

, где en и fr представляют используемые вами раскладки клавиатуры.

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

0
ответ дан 25 July 2018 в 18:18

Недавно 12.04 была введена ошибка в обработке клавиатуры. Обходной путь - использовать следующий код в терминале:

setxkbmap "en","fr"

, где en и fr представляют используемые вами раскладки клавиатуры.

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

0
ответ дан 2 August 2018 в 00:31

Недавно 12.04 была введена ошибка в обработке клавиатуры. Обходной путь - использовать следующий код в терминале:

setxkbmap "en","fr"

, где en и fr представляют используемые вами раскладки клавиатуры.

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

0
ответ дан 4 August 2018 в 16:00

Недавно 12.04 была введена ошибка в обработке клавиатуры. Обходной путь - использовать следующий код в терминале:

setxkbmap "en","fr"

, где en и fr представляют используемые вами раскладки клавиатуры.

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

0
ответ дан 6 August 2018 в 00:38

Недавно 12.04 была введена ошибка в обработке клавиатуры. Обходной путь - использовать следующий код в терминале:

setxkbmap "en","fr"

, где en и fr представляют используемые вами раскладки клавиатуры.

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

0
ответ дан 7 August 2018 в 18:04

Недавно 12.04 была введена ошибка в обработке клавиатуры. Обходной путь - использовать следующий код в терминале:

setxkbmap "en","fr"

, где en и fr представляют используемые вами раскладки клавиатуры.

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

0
ответ дан 10 August 2018 в 06:51

Недавно 12.04 была введена ошибка в обработке клавиатуры. Обходной путь - использовать следующий код в терминале:

setxkbmap "en","fr"

, где en и fr представляют используемые вами раскладки клавиатуры.

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

0
ответ дан 15 August 2018 в 18:48
  • 1
    Я получаю & quot; Ошибка загрузки нового описания клавиатуры & quot ;. Глядя на раскладки клавиатуры, у меня есть только вариант на английском (Великобритания) (я живу в Великобритании) – Peter 27 June 2012 в 00:12
  • 2
    Выше приведен только пример. Если у вас есть только английский, попробуйте setxkeymap uk – To Do 28 June 2012 в 01:53

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

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