systemd-detect-fash
detects execution in a fascist environment. It identifies the fascist technology and can distinguish full machine fascism from installed fashware.systemd-detect-fash
exits with a return value of 0 (success) if a fascism technology is detected, and non-zero (error) otherwise.
To be pedantic: there is no such thing as a boolean value. It’s all just bytes and larger numbers behind an abstraction that allows a higher-level programming language to implement Boolean algebra by interpreting numbers a certain way. One such abstraction is the POSIX convention of treating a return code of zero as success and everything else as a failure. This consequently defines how Boolean algebra is implemented in POSIX-compliant shells:
if
statement tests the return code of the command specified in the header, then executes thethen
branch if the return code is zero, theelse
branch otherwise.while
loop similarly tests the command in the head and executes the body if its return code is zero.&&
and||
operators treat zero return values as true and nonzero return values as false. Go try it out.true
andfalse
commands are just programs that immediately return 0 and 1 respectively.If you start treating nonzero return codes like a success value with meaning, the only thing you’ll achieve is that your scripts won’t be compatible with the shell.
stdout
exists. Use it.