Это должно работать:
#!/bin/bash
set -x
NARGS=$#
function main {
if [ $NARGS -lt 1 ]; then
usage
fi
echo good
}
function usage {
echo "Usage: $0 <outputdir>"
exit 1
}
main
Я уехал set -x
там нарочно. Полезно отладить эти ошибки. Если Вы не передаете аргументов main
функция, $#
становится 0 внутренней частью это (замена $NARGS
с $#
в if
условие видеть это).
Не в наличии, но вот несколько инструментов, которые я использовал раньше: