Команда 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 что имеет место в большинстве систем).

  • Понимание цветов в zsh
  • Что такое sourcing мой сценарий оболочки?
  • Как включить вкладку zsh / prezto?
  • Перенаправить вывод на полпути через скрипт и восстановить позже
  • Синтаксис команды повторения в zsh
  • Проблемы с дублированием $ PATH
  • исполняемый обертку, запустить исходный исполняемый файл из хвоста PATH
  • Таинственное повторение введенной команды в оболочке
  • Как найти / исправить ошибку в пути
  • Могу ли я ссылаться на команду перед '&&' после '&&'
  • Сортировка массива на основе подстроки каждого элемента
  • Interesting Posts

    Через некоторое время Wifi

    Невозможно загрузиться с загрузочного USB-устройства с manjaro 17.0 Community Edition i3

    Слейте ненулевые блоки огромного (разреженного) файла A в огромный файл B

    Создание оболочки zsh по умолчанию без доступа root

    Создайте TS-файл CBR из файла MXF

    Добавление обоев в оболочку GNOME

    Сценарий Python для выключения системы не работает в cron

    Как восстановить доступ к Интернету? ТОЛЬКО программа, которая по-прежнему пользуется Интернетом – это разнообразие (приложение для обоев)

    Что это '!' действительно, когда он добавляется в команду ex (: wq! |: w! |: q!)?

    vim, как запретить

    Извлечь zip-файлы в каталог на основе шаблона zip-имени

    Драйвер Debian Realtek RTL7832BS

    очистить tmpfs в моем случае

    Сетевой апплет KDE не перечисляет AP, в то время как iwlist делает после некоторых дополнительных шагов

    Чтение из брелка не выполнено с ошибкой: «Нет доступной службы брелка»

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