Можно ли настроить режим гибернации таким образом, чтобы его можно было безопасно использовать в одной ОС, с одной загрузкой, с несколькими ядрами или «снимками состояния» системы? [закрыто]

В более старых версиях zsh вы не можете инициализировать массив с помощью local (или typeset ] / объявить ) таким образом, вам нужно разделить его, например

local -a di_files # explicit array
di_files=( ... )

В v5.1 была добавлена ​​возможность одновременного объявления и присвоения массива.

Я считаю, что вы видите ошибку, потому что zsh обрабатывает инициализацию как скаляр, а () как квалификатор glob.

Вы также, вероятно, можете заменить сложный конвейер на более простой

open "${di_files[1]}"

Наконец, включая обработку файлов, не совпадающих:

function projectopen {
  setopt local_options nullglob
  local di_files=(*.xcworkspace */*.xcworkspace *.xcodeproj */*.xcodeproj)

  # open first existing file
  [ -n "${di_files[1]}" ] && open "${di_files[1]}"
}

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

2
13.04.2017, 15:36
0 ответов

Теги

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