3. I have a natural revulsion to any operating system that
shows so little planning as to have named all of its
commands after digestive noises (awk, grep, fsck, nroff).
Source: The UNIX HATERS Handbook
41. bash infinity
import util/namedParameters util/class
class:Human() {
public string name
public integer height
public array eaten
Human.__getter__() {
echo "I'm a human called $(this name), $(this height) cm tall."
}
...
}
43. bash toolbox
alias fail='printf "${BASH_SOURCE##*/}: ${FU ...
alias debug='printf "${BASH_SOURCE##*/}: ${FU ...
alias caller='nm=$(builtin caller 0); nm=${nm% ...
44. bashworks
Inversion of control: the overall program's flow of control
is not dictated by the caller, but by the framework.
Polite functions: Generic reuseable functions usually take a
module name string argument.
46. log4sh
# set alternative 'nc' command
log4sh_setAlternative nc /bin/nc
# add and configure a SyslogAppender that logs to a remote host
logger_addAppender mySyslog
appender_setType mySyslog SyslogAppender
appender_syslog_setFacility mySyslog local4
appender_syslog_setHost mySyslog somehost
appender_activateOptions mySyslog
# say Hello to the world
logger_info 'Hello, world'
48. oobash
## class Dialog
Dialog=(
# Explicit definition is needed to make inheritance possible.
function __new__ = Dialog::__new__
function __delete__ = Dialog::__delete__
)