From: eLinux.org
Scripting
Scripting is powerful technology especially valuable in embbedded Linux.
It is used for building complex projects, building root file systems and
distributions, system management, tests automation.
Most commons shells are bash on PC
and busybox’s ash on
embedded Linux.
Contents
Shell scripting
- Bash Reference
Manual - Bash Guide for
Beginners - Advanced Bash-Scripting
Guide - Command-Line Tools
Summary - http://wiki.bash-hackers.org/
- http://bash.cyberciti.biz/
- Top 10 Best Cheat Sheets and Tutorials for Linux / UNIX
Commands - http://wiki.bash-hackers.org/
- https://wiki.archlinux.org/index.php/bash
- http://www.techbar.me/linux-shell-tips/
Shell scripting libraries
- shtool The GNU Portable Shell
Tool- man shtool
- Portable wrappers to standard operations
- 3000 SLOC, 19 functions, bloated
- Wicked Cool Shell Scripts, 2004,
samples- Indeed cool shell scripts, worth to read
- Most in interesting functions: 015-newrm.sh, 016-unrm.sh,
021-findman.sh, 029-loancalc.sh, 037-zcat.sh,
038-bestcompress.sh, 040-diskhogs.sh, 084-webaccess.sh,
100-hangman.sh - 4000 SLOC, 100 files-functions
- Easy to use
- mbfl - Marco’s Bash Functions
Library- 5000 SLOC, 500 functions, bloated
- The philosophy of MBFL is to do the work as much as possible
without external commands. - Complicated to use
- @ aka monkey-tail
- 300 SLOC, 20 functions, simple wrapper functions
- Easy to use
- lib.sh
- Single script, 300 SLOC, 40 functions and aliases
- Easy to use
- Most useful functions: make-debug, trap_err, readline-bindings,
duplicates, fs_usage, system_status_short, git_fixup,
tcpdump-text, git_ign_add, for_each, mem_avail_kb
Specialized frameworks and libraries
- Bashinator
- Logging framework
- 700 SLOC, 18 functions
- Complicated to use
- libbash - tool for managing bash
scripts- loads and unloads functions from scripts with commands source
and unset
- loads and unloads functions from scripts with commands source
- bsfl - Bash Shell Function Library
- 600 SLOC, 50 functions, logging functions, trivial wrappers
- Easy to use
- shesfw - Shell Script Framework
tool- 200 SLOC, 20 functions
- unified interface to kdialog, Xdialog, zenity
- shUnit2 - xUnit based unit testing for Unix shell
scripts - log4sh - logging
framework- logging framework for shell scripts that works similar to
http://logging.apache.org/
- logging framework for shell scripts that works similar to
- bashworks - something messy
- rerun - a modular shell automation framework to organize your
keeper
scripts- 700 SLOC, 30 functions
Samples from books
- Learning the bash shell, 2005,
samples, 62 files - Bash Cookbook, 2007,
99 files - Classic Shell Scripting,
2005. 82 files
Historical
- UNIX Power Tools, 1997,
samples - Portable Shell Programming, 1995,
samples- 1000 SLOC, 33 files-functions
- Regular operations implelented in shell. Usedfull on out of
memory (OOM) when there is no memory to run external programms. - easy to use
References
See also