Как создать цепочку команд?

Я хочу создать цепочку команд, например, cp ab && mv bc && rm a .

Я пробовал делать cp ab && mv bc && rm a & но это только фоны последнего процесса.

Как создать цепочку команд?

  • Как удалить каждый файл с x в заголовке?
  • Передача glob-выражений в функции / скрипты
  • сценарий к cd во многие каталоги и выполнить команду
  • zsh: удалить предсказанный текст
  • Поиск шаблона в именах файлов с номером
  • Предотвращать отображение терминала ранее выполненной командой
  • Command-not-found не запускается для «сбоя» в ZSH без причины
  • После установки oh-my-zsh: ... /.zshrc:source:34: нет такого файла или каталога ... /.oh-my-zsh/oh-my-zsh.sh
  • 2 Solutions collect form web for “Как создать цепочку команд?”

    cp ab && mv bc && rm a & является правильным. & имеет более низкий приоритет, чем && . На самом деле & имеет более низкий приоритет, чем что-либо другое ; и newline: & находится в той же синтаксической категории, что и ; , причем разница заключается в том, что ; запускает список команд на переднем плане & запускает его в фоновом режиме. Вы можете проверить это самостоятельно:

     $ dash -c 'sleep 2 && echo waited & echo backgrounded' backgrounded $ waited информация $ dash -c 'sleep 2 && echo waited & echo backgrounded' backgrounded $ waited 

    То же самое с pdksh, ksh93, bash, csh, tcsh.

    Исключением является zsh, что является странно несовместимым. Это описано в руководстве :

    Если подсписок заканчивается символом & , &| , или &! , оболочка выполняет последний конвейер в нем в фоновом режиме и не ждет его завершения (обратите внимание на отличие от других оболочек, которые выполняют весь подсписчик в фоновом режиме).

    К сожалению, zsh ведет себя таким образом даже в режиме совместимости sh или ksh. Чтобы убедиться, что вся команда выполнена в фоновом режиме, поместите скобки или круглые скобки вокруг него. Скобки создают подоболочку, а фигурные скобки – нет, но это не имеет значения (кроме как микро-оптимизация в некоторых оболочках), так как фоновая команда находится в подоболочке в любом случае.

     { cp ab && mv bc && rm a; } & 

    вы можете поместить его в скобки, такие как (cp ab && mv bc && rm a )& включить всю цепочку.

    Interesting Posts

    Переход между двумя xsessions очень медленный, если подключен внешний монитор

    Как применяются разрешения файлов для вновь созданных файлов?

    Написание сценария оболочки для вывода исполняемого файла и выполнения некоторых вычислений

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

    Использование dd для возникновения ошибки в памяти

    Как переименовать файл и папку mp3 на основе тега ID3

    Нужен ли X11 для установки других настольных сред?

    рекомендации по монтажу и разминированию акций

    почему фоновые задания зависают в зависимости от размера вывода?

    Не удается запустить Kali в режиме Live

    Восстановить LVM (на RAID1): групп томов не найдено. Таблица разделов стирается?

    Могу ли я использовать команду «cp» с опцией -b, но не сработала ли она, если файл резервной копии уже существует?

    Скопируйте прямоугольный блок в основной выбор из сеанса экрана

    Debian машиночитаемое авторское право: путь к файлам

    Как создать ZImage?

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