The Salesforce Data Loader tool has a command line interface, you can read more about it here. It is actually a Java app, so good for being integrated into scripts etc you may want to run on different platforms. It consumes CSV files that contain the records, you can also use it's GUI to perform exports.
process ../conf csvInsertSuzyRecords
process ../conf csvInsertBobRecords
process ../conf csvUpdateBobRecords
If you want to build something more custom, that consumes your own data format and/or adds some more dynamic aspects, you can consume the Salesforce SOAP API from a Java or Ruby app and make database requests directly.