ошибка анализа zsh после псевдонима делает = …

Обычно при нажатии кнопки клавиатура генерирует один код клавиши. ОС принимает клавишные коды, применяет некоторое отображение ключей и пытается обрабатывать комбинации клавиш независимо от базового аппаратного обеспечения.

Механизм SysRq немного отличается: Клавиатура захватывает комбинацию и отправляет в ОС специальный клавишной код, как если бы была нажата одиночная кнопка. Linux kerenel ловит специальный код и обрабатывает его внутри, не пересылая входные данные в приложения более высокого уровня, такие как сервер X. Это подразумевает два последствия:

  1. Комбинация клавиш действительно зависит от клавиатуры. Клавиатура должна фиксировать все нажатия на клавишу самостоятельно, и только клавиатура «знает», где находится фактическая клавиша SysRq и какая комбинация запускает отправку специального клавишного кода. Итак:

    • SysRq не обязательно находится на одной кнопке с «Home» или «Print Screen», попробуйте найти его, обычно он помечен явно как «SysRq».
    • Используйте различные комбинации: Ctrl + Alt + SysRq + b или Ctrl + Alt + Fn + SysRq + b и т.д. (предупреждение, система перезагрузится после успешного завершения). На клавиатурах с клавишей Fn обычно необходимо нажать ее для перехода к фактической клавише SysRq , поэтому, вероятно, в комбинации будет использоваться клавиша Fn .
  2. Вы действительно можете знать, когда вы получите комбинацию правильно. Запустите xev с терминала, фокусируйте окно xev и нажмите некоторые кнопки на клавиатуре, чтобы увидеть события, появляющиеся на терминале. При получении правильной комбинации НЕ следует получать событие, поскольку оно улавливается ядром и не доставляется на сервер X.

Также обратитесь к документации: https://www.kernel.org/doc/Documentation/sysrq.txt

-121--125736-

Если вы хотите знать размер устройства (в байтах), вы можете использовать blockdev:

# blockdev --getsize64 /dev/sde
2000398934016

В этом примере /dev/sde является 2TB диском или, по крайней мере, это то, что видит ядро. Естественно, fdisk , parted и другие должны показывать одну и ту же информацию.

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

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

-121--123264-

Там есть несколько интеллектуальных инструментов извлечения (которые я узнал после того, как написал один для себя). Можно просмотреть dtrx (установка с помощью sudo apt-get install dtrx ).

dtrx всегда создает каталог верхнего уровня, если он еще не находится в архиве.Адаптация сценария bash-обертки (который вызывает dtrx вместо unzip ) становится гораздо более простой, поскольку он должен только переместить подкаталоги и удалить каталог верхнего уровня (так как последний всегда там).

0
12.04.2015, 04:15
1 ответ

do - зарезервированное слово в оболочке. Оно является частью синтаксиса циклов , в то время как и для циклов . Когда вы определяете его как псевдоним, псевдоним имеет приоритет над зарезервированным словом. Таким образом, оболочка видит после расширения псевдонима:

if [ -d "$_dir/pre" ]; then
  for config in "$_dir"/pre/**/*(N-.); ssh -L xxxx:127.0.0.1:xxxx -N -f -l user -p xxxx xx.xx.xxx.xxx
    . $config
  done
fi

Я не знаю, почему zsh жалуется на fi, а не на done или отсутствие do после точки с запятой, но в любом случае, это недействительный синтаксис.

Вам нужно выбрать другое имя для вашего псевдонима. Избегайте всех зарезервированных слов -.

4
28.01.2020, 02:20

Теги

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