function f() {
COMPILE_LOG=$(sudo make install clean 2>&1)
echo $?
echo "${COMPILE_LOG}"
}
out:
2
slock build options:
CFLAGS = -std=c99 -pedantic -Wall -Os -I. -I/usr/include -I/usr/X11R6/include -DVERSION="1.4" -D_DEFAULT_SOURCE -DHAVE_SHADOW_H
LDFLAGS = -s -L/usr/lib -lc -lcrypt -L/usr/X11R6/lib -lX11 -lXext -lXrandr
CC = cc
CC slock.c
slock.c:18:10: fatal error: X11/extensions/Xrandr.h: No such file or directory
18 | #include <X11/extensions/Xrandr.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:19: slock.o] Error 1
Нужный мне вариант с локальными переменными
function f() {
local COMPILE_LOG=$(sudo make install clean 2>&1)
echo $?
echo "${COMPILE_LOG}"
}
out:
0
slock build options:
CFLAGS = -std=c99 -pedantic -Wall -Os -I. -I/usr/include -I/usr/X11R6/include -DVERSION="1.4" -D_DEFAULT_SOURCE -DHAVE_SHADOW_H
LDFLAGS = -s -L/usr/lib -lc -lcrypt -L/usr/X11R6/lib -lX11 -lXext -lXrandr
CC = cc
CC slock.c
slock.c:18:10: fatal error: X11/extensions/Xrandr.h: No such file or directory
18 | #include <X11/extensions/Xrandr.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:19: slock.o] Error 1
Как видим, некорректное значение 0


