How Good Are These Utilities?

  • In general, very complete.

  • Comprehensive test suite included to ascertain differences between GNU and busybox versions of each tool.

    • Sometimes differences are acceptable.

  • At least three shells of different levels of completeness (in a Bourne shell sense) and size.

    lash

    Does not understand Bourne shell grammar. Very small (10K). Does have job control, pipes and redirects, so appropriate for very simple startup scripts.

    hush

    Still fairly small (18K). Fairly complete Bourne shell grammar. Does not understand for loops or case statements, so fails on advanced scripts.

    msh

    A recent addition, so size of 30K could be shrunk further. Not always 100% correct, but does understand all grammar. Test suite shows differences.

    ash

    Well known shell. Size of 60K is a trade-off for correctness and completeness. Can be customised slightly for smaller size addition to busybox binary. Good default choice.