Enjoy a randomly generated fortune:
$ fortune | cowsay _________________________________________ / There has also been some work to allow \ | the interesting use of macro names. For | | example, if you wanted all of your | | "creat()" calls to include read | | permissions for everyone, you could say | | | | #define creat(file, mode) creat(file, | | mode | 0444) | | | | I would recommend against this kind of | | thing in general, since it hides the | | changed semantics of "creat()" in a | | macro, potentially far away from its | | uses. | | | | To allow this use of macros, the | | preprocessor uses a process that is | | worth describing, if for no other | | reason than that we get to use one of | | the more amusing terms introduced into | | the C lexicon. While a macro is being | | expanded, it is temporarily undefined, | | and any recurrence of the macro name is | | "painted blue" -- I kid you not, this | | is the official terminology -- so that | | in future scans of the text the macro | | will not be expanded recursively. (I do | | not know why the color blue was chosen; | | I'm sure it was the result of a long | | debate, spread over several meetings.) | | | | -- From Ken Arnold's "C Advisor" column | \ in Unix Review / ----------------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
$output = shell_exec("/usr/games/fortune | /usr/games/cowsay"); echo $output;