Как копировать или экспортировать / импортировать пользовательские цветовые схемы LXDE (заданные через LXAppearance) на другой Ubuntu

Поскольку в bash ! является зарезервированным словом (OK, символ), оно имеет особое значение в разных контекстах. В этом конкретном случае вы отвлекаетесь от своего значения в поиске истории. Из man bash:

   History expansions introduce words from the history list into the input
   stream, making it easy to repeat commands, insert the  arguments  to  a
   previous command into the current input line, or fix errors in previous
   commands quickly.

  [...]

   History expansions are introduced by
   the appearance of the  history  expansion  character,  which  is  !  by
   default.   Only  backslash  (\) and single quotes can quote the history
   expansion character.

В основном, это означает, что bash примет символы после ! и выполнит поиск вашей истории для первой найденной команды, которая начинается с этих символов. Легче продемонстрировать, чем объяснить:

$ echo foo
foo
$ !e
echo foo
foo

Активированное расширение истории !, которое соответствовало первой команде, начинающейся с e, которая была ранее запущена echo foo, которая затем снова запускалась. Итак, когда вы написали "SYNC TIME!", bash увидел !", искал историю для команды, начинающейся с ", потерпел неудачу и пожаловался на нее. Вы можете получить ту же ошибку, выполнив, например, !nocommandstartswiththis.

Чтобы напечатать восклицательный знак, вам нужно избежать его одним из следующих способов:

echo 'Hello world!'
echo Hello world\!
1
задан 24 September 2016 в 13:30

0 ответов

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

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