Команда ZSH запускается в оболочке, но не в скрипте

Я запускаю эту команду zsh в моем терминале:

cd /path/to/backups/pod3 && rm -rf ./*(Om[1,-10]) 

Это отлично работает и удаляет соответствующие каталоги, как ожидалось.

Однако, когда я помещаю это в скрипт, я получаю эту ошибку:

 syntax error near unexpected token `(' 

Я сделал некоторые исследования, и мне кажется, мне нужно установить это в моем сценарии оболочки:

 setopt extended_glob 

Однако после того, как я добавлю эту строку в начало скрипта, она выдает собственную ошибку.

 setopt: command not found 

Поэтому я не уверен, что я делаю неправильно здесь и как это исправить.

One Solution collect form web for “Команда ZSH запускается в оболочке, но не в скрипте”

Вам нужно добавить привязку к вашему скрипту, чтобы сообщить системе, что сценарий должен интерпретироваться zsh , поскольку в противном случае это будет интерпретироваться sh вместо:

 #! /bin/zsh - cd /path/to/backups/pod3 && rm -rf ./*(Om[1,-10]) 

Измените /bin/zsh на фактический путь исполняемого файла zsh или измените всю строку she-bang на:

 #! /usr/bin/env zsh 

для пути zsh в $PATH (если команда env находится в /usr/bin что имеет место в большинстве систем).

  • Сценарий Bash для открытия экранов и компиляции того же файла
  • Почему zsh (oh-my-zsh) заполняет каталоги, которые не существуют?
  • Backspace в zsh застрял
  • Перезагрузка zsh при изменении размера окна терминатора
  • Переместить zsh-настройки из Arch live в Arch regular
  • как различать пользовательские сервисы и системные службы в systemd?
  • Прочитайте первую строку вывода команды. Команда соединяет меня с удаленным терминалом
  • Проблема с zsh segfaulting: как продолжить оценку проблемы?
  • Замораживание файла истории временно
  • Есть что-то вроде закрытия для zsh?
  • Передача команды с аргументами скрипту
  • Interesting Posts

    Объединить несколько строк в одну строку, пока не будет найден шаблон

    Что означает «-» как аргумент для команды?

    Использование окружения Multiple Desktop в Fedora

    Проблемы с открытием файлов .dvi

    Установите Elixir lang на Linux Mint

    Перемещение окна на другой компьютер

    Различия между sed #,%, / и |

    строки отсутствуют после конкатенирования двух или более переменных строк в bash

    Удаление файлов по годам

    Альтернатива Webmin, которая устанавливает и запускает клиентскую машину и обменивается данными через SSH

    Указание параметров командной строки, разделенных запятыми, на основе строк текстовых файлов

    Gnome 2 ярлык для рабочего стола: запустите скрипт, имеющий команды, изменяющие среду

    Что такое индексный дескриптор, определенный POSIX?

    Каков лучший дистрибутив linux для виртуального бокса? preff. небольшая прямая загрузка и большой список пакетов

    Как проверить, перезагрузится ли мой компьютер (или завершение работы)?

    Linux и Unix - лучшая ОС в мире.