Practical examples are used at every stage and each task includes a concrete example. The configuration files are XML based, so there's no need for you to write shell commands. Each task is run by an object that implements a particular task interface. And if you really need to execute a shell command, Ant has a task that allows different commands based on the operating system.