Почему расширение фигурной скобки не поддерживается?

Можно изменить /desktop/gnome/applications/terminal/exec ключ в GConf (использование gconf-editor), который описан как "терминальное приложение по умолчанию для использования для приложений, которые требуют терминала".

С другой стороны, я предлагаю немного более гибкое решение: при использовании Compiz можно использовать Commands плагин для определения сочетаний клавиш для собственных команд. Таким образом, можно сохранить ярлык по умолчанию, чтобы запустить оконный терминал и определить другой ярлык для полноэкранного терминала.

(Заметка на полях: в инструменте конфигурирования Compiz можно изменить непосредственно терминальную команду и ярлык в Gnome Compatibility плагин.)

9
26.12.2015, 14:36
3 ответа

В то время как расширение фигурной скобки как {1,2} происходит в csh в конце 70-х, и найденный его путем к подобным Границе оболочкам в bash/zsh/pdksh в конце 80-х, в начале 90-х, {n1..n2} вариант прибыл позже сначала в zsh в 1995 (2.6-beta4).

bash скопированный это в 2004 (3.0) и ksh93 в 2005 (ksh93r).

Вероятно, оболочка, в которой Вы пробуете это, не имеет ни один тех или является более старой версией bash и ksh93.

10
27.01.2020, 20:05
  • 1
    Мы должны как о том, какую оболочку хижины он использовал. / меня подозревает, что это #!/bin/sh... –  polemon 29.09.2013, 11:25
  • 2
    @polemon, Который не обязательно помог бы. Например, в некоторых системах /bin/sh bash или ksh93. –  Stéphane Chazelas 29.09.2013, 11:34
  • 3
    я на самом деле думаю, что он был бы: в зависимости от вызова, оболочки, вызванные как /bin/sh действуйте как историческое sh (это - то, что страница справочника удара говорит так или иначе). Не проверили kshстраница справочника, но я уверен, что она будет вести себя соответственно. –  polemon 29.09.2013, 11:44
  • 4
    @user43312: почему Вы все еще используете RH9? Это не сохранялось для многих много лет. AS, который Stephane записал этому, является функцией недавних версий удара. Таким образом, очень маловероятно что Ваша поддержка версии удара это. Можно проверить версию с помощью удара - версия. И только быть уверенным проверка, если Вы выполняете оболочку удара путем проверки переменной $SHELL или просто рабочего PS. Для использования этой функции, Вы могли бы попытаться запустить оболочку zsh (zsh) сначала. Обходное решение Anothher должно было бы использовать что-то как "mkdir $ (seq 1 10)". –  Bram 29.09.2013, 14:10
  • 5
    @polemon поведение запуска другой оболочки (т.е. который регистрирует его источники после запуска), не мимикрия другой оболочки. –  Chris Down 29.09.2013, 17:36

{x..y} Расширение фигурной скобки диапазона реализовано в ударе, с 3.0 альфами. Для помощи нам и Вам покажите Ваш echo "$BASH_VERSION" вывод.

Затем ответ: Если mkdir {1..10} создает dir с именем {1..10} затем Вы используете предшествующую версию удара bash 3.0-alpha. В этом случае можно использовать для конструкции цикла как:

for ((i=1;i<=10; i++)); do mkdir "$i"; done

4
27.01.2020, 20:05

Проверьте свою версию Bash:

$ bash -version
GNU bash, version 4.1.7(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

Также проверьте это mkdir не были псевдонимы некоторым странным способом:

$ alias |grep mkdir
alias md='mkdir'
1
27.01.2020, 20:05

Теги

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