Intereting Posts
Выполните команду на новом именованном экране Сетевой менеджер не принимает dns-поиск в отношении VPN, GNOME Ubuntu 16.04.1 LTS Настройки LS_COLORS для определенных типов файлов Как заставить GNOME 3 работать в Debian Wheezy под VMware? Atom 230 + 2GB RAM хранилище данных для небольшого сервера = 64-разрядный или 32-разрядный debian Сохраняет ли параметр детализации дег производительности? Создание аудиозаписывающего устройства Linux на ПК под управлением Windows 7 по сети Почему файловые системы * nix поддерживают имена файлов с символами новой строки? псевдонимы параметров Как загрузить initrd в память для передачи ядра при использовании kexec? Маршрутизация входящих и исходящих сообщений на одном и том же интерфейсе lvm: в чем цель группы томов? Как распечатать последнее время входа? ksh не может cp из местоположения с пространством в нем? Есть ли удобный способ обернуть список команд bash в rlwrap?

Bash можно использовать как AND, так и OR в одной строке?

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

make remake 2> error.txt || less error.txt 

Тогда, если less не появляется, я копирую свой код в каталог exe .

Я бы хотел, чтобы команда копирования выполнялась автоматически, если компиляция прошла успешно. Например, я мог бы сделать:

 make remake 2> error.txt && cp ./bin/out.out ../exe/out.out 

однако тогда я потерял бы полезную функцию, которая бы меньше всплывала с моими ошибками, если компиляция терпит неудачу.

Можно ли объединить оба вместе?

очевидно

 make remake 2> errors.txt || less errors.txt && cp ./bin/out.out ../exe/out.out 

не будет работать, потому что && приведет к тому, что команда cp будет запускаться каждый раз, когда я уйду less (при условии, что она вернет 0) в случае сбоя команды компиляции.

Можно ли выполнить то, что я пытаюсь сделать в 1 строке командной строки?

Вот ты где:

 make remake 2> errors.txt && cp ./bin/out.out ../exe/out.out || less errors.txt