1

Хочу написать скрипт,который после удачной компиляции с помощью компилятора g++ запускал полученную программу.Если во время компиляции компилятор найдет ошибки  в коде,то программу не надо запускать.Я написал вот такой скрипт:

#!/bin/sh

g++ 1.cpp -o proga
proga

Первый вопрос:возможно ли такое?
Второй вопрос:Если да.Как написать условие для проверки удачной компиляции?

2

Зачем это, любая современная IDE умеет запускать программы на выполнение, предварительно компилируя исходник. А если в программе есть ошибки, то она просто не соберется. Хотя и критичностью ошибок можно управлять.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

3

Неправильный скрипт, лучше проверяй, что компиляция прошла без ошибок и только потом запускай, например вот так:

g++ 1.cpp -o proga && proga

А в твоём варианте будет запущена proga от предыдущей удачной компиляции.

4

5artizan пишет:

Первый вопрос:возможно ли такое?

конечно. Это нужно.
тут уже сказали как. Иногда можно и по другому:

g++ ...
err=$?
if [ $err == 0 ]; then
  # всё хорошо собралось
else
  # что-то пошло не так
fi

но надо сказать, что warning'е это НЕ ошибки (код == 0).

yars пишет:

любая современная IDE

а ещё есть венда, и есть варез на треккерах. Зачем вы вообще влезли?

yars пишет:

А если в программе есть ошибки, то она просто не соберется.

ложь. Соберётся. Иной раз даже без warning'ов, с Wall. Вы хоть пару раз собирали?

yars пишет:

Хотя и критичностью ошибок можно управлять.

некоторые ошибки может исправить только программист, или ИИ, которого не существует. Причём если у вас нормальная IDE(vim например), то только такие ошибки и бывают. Vim всё красным разрисует, если запятую/пробел забыть.

И тесты тоже НЕ помогут, недавно я нашёл ошибку в своём коде, в котором допустимо 27! комбинаций. Это ОЧЕНЬ БОЛЬШОЕ ЧИСЛО. (10888869450418352160768000000) Потребуется 345283785211134 лет, что-бы перебрать все комбинации, если за секунду перебирать 1000000.

А применив голову я осилил за ночь перебрать.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)