есть https://github.com/mig1984/bashible он позволяет выполнять типа
@ Synchronizing files
- result synced rsync -av /foo /bar
вот ее функция
result() {
local name=$1; shift
ble_check_cmd "$1"
local old=${_BLE_SUPPRESS_ERRORS}
export _BLE_SUPPRESS_ERRORS=1
local ex=0
"$@" || ble_handle_exitstatus $? "$@" || ex=$?
export _BLE_SUPPRESS_ERRORS=$old
eval "
$name() {
if test \$# -gt 0; then
test \"$ex\" \"\$@\"; # with arguments - to test exitcode
else
return \"$ex\" # without - to test boolean
fi
}
"
return 0
}
А вот как выполнить что-то типа:
if lsmod | grep pcspkr &> /dev/null ; then
rmmod pcspkr
fi
т.е raw bash command